一.检查Git
1.打开终端,输入指令,如果已经安装了Git就会显示版本号
git version
2.如果尚未安装Git,可以通过Xcode的Command Line Tools并使用如下命令安装Git
xcode-select --install
二.新建项目并上传
1.在远程第三方托管网站上新建一个远程仓库(Github、码云等)
2.本地创建一个新的项目,以Xcode iOS为例,新建项目时要注意项目内是否由一个.git的Git文件,作为新项目上传时需要先删除该文件
3.打开终端,通过cd指令进入该文件夹下,初始化一个新的Git
git init
4.配置个人信息(第一次使用)
下面的命令进行配置是一次性的配置, 只会配置到被管理文件的.git文件夹下
git config user.name "用户名"
git config user.email "邮箱"
下面的命令进行配置是全局配置
git config --global user.name "用户名"
git config --global user.email "邮箱"
5.添加当前文件夹目录下所有文件到Git
git add .
撤销add
git reset .
6.先提交项目到本地仓库
git commit -m "project"
6.然后推送本地仓库到远程仓库,其中http://xxxxxxxx为远程仓库地址,通常需要在该地址后添加.git链接到Git仓库,如果是首次推送,还需要输出远程仓库的Git用户名和密码来进行验证
git remote add origin http://XXXXXXX.git
git push -u origin master
注:该步常见错误为远程仓库在创建时通?;嵝陆ㄒ桓鰎eadme文件,导致因远程仓库存在本地不存在的文件而上传失败
To https://gitee.com/leisurezxy/iostest.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://gitee.com/leisurezxy/iostest.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
解决方法为先执行pull命令,合并本地不存在的readme文件,再执行git push -u origin master命令即可
git pull --rebase origin master
三.从Git上获取已有的项目,修改后并提交
1.根据已有项目的Git地址,使用命令行工具从远程克隆一个仓库到本地
git clone https://xxxxxxx.git
2.修改完项目内容后,使用命令行工具进入项目文件夹,先执行如下两条命令将项目提交到本地仓库
git add .
git commit -m "project"
3.然后执行push命令将项目同步到远程Git仓库
git pull --rebase // push前先下拉并rebase代码
git push origin Head:master // 提交代码到远程master分支
git push // 也可以直接这样提交,前提是当前分支与远程分支有关联(当然和上面二选一)
注:该步常见问题为mac git设置的全局用户名和密码与该远程仓库使用的用户名密码不相符,需要通过如下命令进行修改,使用后系统会提示输入密码
4.下拉代码到本地仓库
git pull --rebase
四.生成密钥并关联仓库
1、先查看本地是否有密钥对,有的话就不用创建了,如果是第一次安装肯定是没有的,打开终端,执行以下命令
cd ~/.ssh
密钥生成后会存放在.ssh文件下,若此文件存在并ls后显示如下内容,说明你创建过,直接关联仓库即可,否则继续生成
id_rsa id_rsa.pub known_hosts
2、通过以下命令生成密钥对
ssh-keygen -t rsa -C "your_email@youremail.com" // 这里是你自己的邮箱啊
创建过程中,会询问你密钥存储位置,直接enter就好,会让你设置密码,可直接enter,也可输入密码(输密码时是不显示输入进度的,直接按键盘就好了,别傻傻的等),最后显示一个矩形方框就说明创建成功了
3、上传密钥
私钥就存在本地即可,公钥需要上传至远程仓库,这样才能让本地仓库和远程仓库建立连接;同步骤1,cd到.ssh文件,ls出上述三个文件,然后复制公钥id_rsa.pub内容,如下
xxxdeMBP:~ liyang$ cd ~/.ssh
xxxdeMBP:.ssh liyang$ ls
id_rsa id_rsa.pub known_hosts
xxxdeMBP:.ssh liyang$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDRIqBw5EEyfmXX6NJ3gZB7SOFC1ATsiSPgVb8kchYNvM7qS8h/WJeFPVcY+5Uyx
SlQ/aGH1UtnLJVrTUryO5iOFN+VKSwsJPFUxxx61TQ5pV5v/HK3FzXe8+2F5ZFrGmeWr7oaWXDS4gS8DWQpY5mzPRY6MsHZ4o2tUw
+5toqlgdR/tVnhOwVa4tZ7HuUbQ4twpt2YuFFix9TAnvLXPReTt3gaFrswLePYRFVniK2pSUAnAnxPugTDH1dFlucuFFREUSy+/kB
YlXdayo8+SkdonoDVG9sHAMb6YyJtpnY/PC28NcBWphcWqI/1yPhqTSFIBo6xxx4LWN3W4t79Un9Z xxyaxx@xxx.com
复制上述四行公钥,上传至github:登录账号、点击头像、选择Settings、选择SSH and GPG keys,然后new一个ssh key,名称随便起
五.常见问题
1.Mac显示和隐藏隐藏文件
defaults write com.apple.finder AppleShowAllFiles -bool true
defaults write com.apple.finder AppleShowAllFiles -bool false
2.如何学习git指令,可以通过如下指令查看git使用指南
git --help
3.git常用的一些指令
git log 查看所有版本库日志
git status 查看文件状态
4.版本回退
git reset --hard 所需回退版本号
5.查看git配置信息
git config --list
6.查看本地分支
git branch
7.查看所有分支
git branch -a
8.查看所有分支及其最近一条提交记录
git branch -av
9.查看本地分支与远程关联分支
git branch -avv
10.查看远程分支直接的关系
git remote show origin
11.撤销操作
git checkout . // 代码改动后,撤销所有改动
git reset a // git add a 后,撤销对a的add
git reset . // git add . 后,撤销add所有
git reset HEAD~1 // 已经commit,在当前分支回退1条commit,当然2就是2条;回退后修改内容还在本地
git revert HEAD~1 //已经push,回滚这条记录,需要注意的是执行完后需要继续执行以下三行才可以,因为远端会保留revert记录
git add .
git commit -a
git push