Git工作流程图
配置
$ git config --global user.name "[username]"
$ git config --global user.email "[email@example.com]"
注:如果使用--global选项,表示你的这台机器上的所有Git仓库都会使用这个配置。
SSH Key
Linux:
# 先执行下面这个命令生成ssh keys
$ ssh-keygen -o -t rsa -b 4096 -C "[email@example.com]"
# 然后执行以下命令并把打印出的所有内容复制进相应平台的SSH Keys里面即可
$ cat /root/.ssh/id_rsa.pub
初始化仓库
$ git init
克隆项目
# 克隆
$ git clone [repo]
# 克隆到指定目录
$ git clone [repo] [directory]
# 克隆指定分支
$ git clone -b [branch] [repo]
切换分支
# 切换分支前可以查看有哪些分支
$ git branch
# 切换分支
$ git checkout [branch]
添加文件至暂存区
# 添加某个文件
$ git add [filename]
# 添加所有文件
$ git add .
提交到本地仓库
$ git commit -m "[message]"
Push到个人远程仓库
$ git push origin [branch]
# 强制推送
$ git push --force origin [branch]
更新本地仓库
# 从远程仓库下载数据到本地仓库
$ git fetch origin [branch]
# 合并本地仓库
$ git merge origin [branch]
# 将上述两个操作合二为一
$ git pull origin [branch]
撤销操作
# 撤销提交到暂存区的文件,即撤销git add
$ git reset HEAD [filename]
添加远程仓库链接
# 个人远程仓库可能fork于主仓库,所以我们这里可以设置一个主仓库的链接,便于直接从主仓库拉代码
# 查看当前远程仓库
$ git remote -v
# 添加远程仓库
$ git remote add [远程仓库的别名] [远程仓库的URL]
从主仓库中获取更新并更新到个人远程仓库
# 添加主仓库的远程源,这一步具体可查看前文中的“添加远程仓库链接”
$ git remote add upstream [url]
# 从主仓库下载数据
$ git fetch upstream
# 切换到本地仓库的分支
$ git checkout master
# 合并刚从主仓库下载的数据的master分支到本地master分支
$ git merge upstream/master
# 以上的操作是更新了本地仓库的master分支, 最后再更新个人仓库的master分支
$ git push origin master
远程仓库名称更改后,本地仓库同步更改
$ git remote set-url origin [new url]