Git常用操作命令

  • 把当前目录变为git仓库
git init
  • 关联到远程仓库
# 添加关联的仓库地址
git remote add origin git@github.com:wintests/gitDemo.git

# 删除当前已关联的仓库地址
git remote rm origin
  • 查看远程库的详细信息
git remote -v
  • 克隆代码到本地
git clone git@github.com:wintests/gitDemo.git
  • 查看分支
# 查看当前分支
git branch

# 查看远程分支
git branch -r

# 查看所有分支
git branch -a
  • 切换到 dev 分支
git checkout dev
  • 创建并切换到新分支
git checkout -b 新分支
  • 查看当前分支状态
git status
  • 添加文件到暂存区
# 添加指定文件到暂存区
git add api/user.py

# 添加目录下所有改动文件到暂存区
git add .
  • 提交
git commit -m "提交文字描述"
  • 将代码推送到服务器主分支
git push origin master
  • 更新本地的仓库
# 不填写,则默认当前分支
git pull

# 指定分支
git pull origin test_002
  • 合并分支
# 把 dev 分支的代码合并到当前分支
git merge dev

# 可通过 git log 查到需合并提交的commit ID

# 仅把其他分支下某次提交的代码合并到当前分支,不会自动提交
git cherry-pick -n commit的ID

# 仅把其他分支下某次提交的代码合并到当前分支,并自动提交
git cherry-pick commit的ID
  • 创建分支
# 本地创建分支
git branch test_002

# 将分支推送到服务器
git push origin test_002

注意:
stash 命令仅针对在git版本控制中的文件,如果是新增文件,那么需要先通过 git add 把新增文件加到git版本控制,然后再使用 stash 命令。

  • 保存当前工作进度(执行后工作区/暂存区被还原到修改之前)
# 直接保存
git stash

# 保存时添加备注,主要为了方便查找
git stash save "添加备注信息"
  • 显示所有已保存的工作进度
git stash list
  • 恢复工作进度,不会删除该条保存进度
# 默认取 stash@{0} 进行恢复
git stash apply

# 从已保存工作进度中,指定一个恢复
git stash apply stash@{num}
  • 删除单个工作进度
# 默认取 stash@{0} 进行删除
git stash drop

# 从已保存工作进度中,指定一个删除
git stash drop stash@{num}
  • 恢复工作进度,同时会删除该条保存进度
# 默认取 stash@{0} 进行恢复
git stash pop

# 从已保存工作进度中,指定一个恢复
git stash pop stash@{num}
  • 删除所有保存的工作进度
git stash clear
  • 放弃工作区的修改
git checkout -- api/user.py
  • 放弃暂存区的文件
git reset HEAD api/user.py
  • 撤销commit
# 撤销上一次commit,但不撤销 git add 操作,也不删除工作区的代码改动
git reset --soft HEAD^

# 撤销上一次commit,同时撤销 git add 操作,并删除工作区的代码改动
git reset --hard HEAD^
  • 删除文件
git rm -rf api/user.py
  • 删除分支
# 删除本地分支
git branch -d test_003

# 删除远程分支
git push origin --delete test_003
  • 查看历史记录
# 显示详细提交日志(如果要退出,输入字母Q即可)
git log

# 只显示commit版本号和备注信息
git log --pretty=oneline

# 查看所有分支的所有操作记录(包括被删除的)
 git reflog
  • 查看当前分支下的文件差异
# 查看当前分支下的工作区和版本库文件差异
git diff HEAD --stat

# 查看当前分支下的工作区和版本库有差异的所有文件
git diff HEAD -- 文件名
  • 比较不同分支下的文件差异
# 列出2个分支下有差异的所有文件
git diff 分支1 分支2 --stat

# 查看2个分支下指定文件的差异
git diff 分支1 分支2 文件名
作者:wintest
本文版权归作者和博客园共有,欢迎转载,但必须在文章页面明显位置给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/wintest/p/14904847.html