Git常用命令行命令收集

  • 账户信息配置
git config [--global] user.name "xxx" # xxx是用户名
git config [--global] user.email "[email protected]" # [email protected]是邮箱
  • 查看当前配置的Git信息
git config --list
  • 编译Git配置信息
git config -e [--global]
  • 将远程仓库的内容克隆到本地
git clone [email protected]:xxx/yyy.git
  • 创建本地分支
git branch xxx # xxx自定义的分支名
  • 切换到某个分支
git checkout xxx # xxx自定义的分支名
  • 创建并切换到新分支
git checkout -b xxx # xxx自定义的分支名
  • 查看本地所有分支
git branch
  • 查看远程所有分支
git branch -r
  • 查看本地及远程所有分支
git branch -a
  • 更新/同步远程分支列表
git remote update origin --prune # 这里要注意下,如果你的remote branch不是在origin下,按你得把origin换成你的名字
  • 删除本地分支
git branch -d xxx # xxx是自定义的本地分支名
  • 删除远程分支
git push origin --delete xxx # xxx是要删除的远程分支名
git push origin :xxx # xxx是要删除的远程分支名
  • 查看远程仓库
git remote [-v]
  • 查看本地工作区文件的修改状态
git status
  • 把本地工作区的文件推送到本地暂存区
git add xxx # xxx是修改的文件名
  • 把本地暂存区的文件推送到本地版本库
git commit -m "msg"
  • 比较本地工作区和本地暂存区到文件差异
git diff xxx # xxx是修改的文件名
  • 比较本地工作区和本地版本库到文件差异
git diff HEAD -- xxx # xxx是修改的文件名
  • 删除本地版本库的文件,并将这次删除放入本地暂存区
git rm xxx # xxx是修改的文件名
  • 改文件名,并且将这个改名放入本地暂存区
git mv xxx yyy # xxx是原始文件名,yyy是修改后的文件名
  • 撤销本地工作区的修改到本地版本库的状态
git checkout -- xxx # xxx是修改的文件名,撤销git add前的操作
  • 撤销本地暂存区里的修改到本地工作区状态
git reset HEAD xxx # xxx是修改的文件名,撤销git add操作并保留修改内容
  • 撤销已提交到远程分支的内容
git reset --hard commit_id # 先取消git commit操作
git push origin HEAD --force # 再push到远程分支
  • 存储本地工作区修改的内容到一个存储区域
git stash [save "msg"]
  • 查看存储区域的内容
git stash list
  • 读取存储区域中的某个内容到工作区,但是不将它存储区域删除
git stash apply [stash@{n}] # n是存储区域中的序号,不指定stash,则默认取最顶层的
  • 删除存储区域中的某个内容
git stash drop [stash@{n}] # n是存储区域中的序号,不指定stash,则默认取最顶层的
  • 读取存储区域中最顶层的内容到工作区,同时删除存储区域中到内容
git stash pop
  • 清空存储区域中存储的所有内容
git stash clear
  • 把本地版本库的内容推送到远程版本库
git push -u origin master # 推送到远程master版本库
git push origin xxx:yyy # xxx是本地版本库,yyy是远程版本库
  • 版本回退
git reset --hard HEAD/HEAD^/HEAD^^/HEAD~100 # HEAD是远程仓库的当前最新版本,HEAD^是上一个版本,以此类推
  • 查看某个文件到commit记录
git log xxx # xxx是文件名
  • 查看某个文件的commit记录并显示diff信息
git log -p xxx # xxx是文件名
  • 查看所有提交记录
git log [--graph] [--pretty=oneline]
  • 查看某次提交中某个文件的变化
git show commit_id xxx # xxx是文件名
  • 查看命令的使用记录
git reflog
  • 查看所有标签
git tag
  • 给某次提交打新标签
git tag xxx commit_id # xxx是tag名称 
  • 查看某个标签信息
git show xxx # xxx是tag名称
  • 强制推送本地版本库的更新到远程仓库
# 普通推送时出现以下报错:
To https://gitlab.xxx.net/xxx/xxx.git
 ! [rejected]        local_xxx -> remote_xxx (non-fast-forward)
error: failed to push some refs to 'https://gitlab.xxx.net/xxx/xxx.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.
# 当确认本地版本库修改的内容不会和远程仓库出现冲突时。可以进行强制推送,-f为force,意为:强行、强制。
git push -f origin local_branch:remote_branch

猜你喜欢

转载自www.cnblogs.com/dongshanzhishi/p/9433770.html