![](https://img2018.cnblogs.com/blog/1592218/201910/1592218-20191016140556027-696018670.png)
拉取代码
git命令行输入,下同
# 拉取整个仓库
git clone http://XXX/index/helloword.git
# 拉取远程 dev 分支
git clone -b dev http://XXX/index/helloword.git
# helloword
cd YourFilePath
# 查看当前git状态
git status
# 查看所有分支
git branch -a
# 拉取远程master分支代码
git pull origin master
上传代码,请勿--force强推!
# 查看状态,注意修改过的文件
git status
# 提交变化文件到缓存, `*.*` 匹配全部文件,简写为 `.`
git add .
# 提交缓存到本地暂存区
git commit -m '提交描述'
# 拉取最新代码,防止冲突,本地分支无origin
git pull origin master
# 推送代码到远程分支
git push origin master
分支管理
# 查看所有分支 只查看本地分支则无需-a
git branch -a
# 新建 a 本地分支
git branch a
# 切换到a分支
git checkout a
# 删除a分支。请确保a不再使用且当前不在a分支
git branch -d a
# 删除远程a分支
git branch -d remote/origin/a
# 合并本地a分支,为保障分支commit记录干净,这里推荐git rebase
# git rebase 和 git merge 区别自行请了解,用法几乎一致
git rebase a
代码冲突,此处演示命令行如何解决,推荐使用工具
# 保存当前分支内容 入信息栈
git stash
# 查看git的信息栈 得到第一列为id: stash@{0}
git stash list
# 再次拉取
git pull
# 还原暂存的内容 ,出栈
git stash pop stash@{0}
# 此时冲突合并到本地文件 此时修改这个文件.修改完按需选择 A 或者 B
# A. 删除指定的栈
git stash drop stash@{0}
# B. 删除所有栈
git stash clear
# 提交远程即可
git push
版本回退,此处演示命令行如何解决,推荐使用工具
# 查看commit日志 且按行显示(中断加载按q)
# 第一列为commit的id,记作commitId
git log --oneline
# 回退版本
git reset --hard commitId
# 回退版本后,只能查看那时提交的commitId. 此时使用git reflog查看所有commitId
git reflog
切换远程仓库
# 查看目前远程仓库信息
git remote show origin
# 设置新远程仓库
git remote set-url origin new.git