常用git命令总结

git专有名词:

  • Workspace:工作区
  • Index / Stage:暂存区
  • Repository:仓库区(或本地仓库)
  • Remote:远程仓库

分支操作:

git branch : 列出本地所有分支

git branch -r : 列出远程所有分支

git branch <branchname> : 新建一个分支,但是不切换到该分支

git checkout -b <branchname> : 新建一个分支并切换到该分支

git branch -d <branchname> : 删除本地分支

git push origin --delete <branchname> :删除远程分支

git merge <branchname> : 合并指定分支到当前分支

 

远程同步:

git fetch : 获取远程分支的最新内容到本地,不会自动合并

git pull : 获取远程分支的最新内容到本地并自动合并。

git pull origin <branchname> : 获取指定远程分支的最新内容到本地并自动合并

 git pull 与 git fetch区别:git fetch拉取代码后不会自动合并,git pull拉取代码则会自动合并,即 git pull = git fetch + git merge

 

代码提交:

git add <file> : 添加指定文件到暂存区

git add <dir> : 添加dir目录下的所有文件到暂存区

git add . : 添加当前目录的所有文件到暂存区

git commit -m "commit message" : 将暂存区内容提交到本地仓库

git commit --amend : 修改上一次提交,将两次提交合并为一次提交(不要试图修改已经push到线上的记录)

            如果需要修改上一次提交的commit message 可以用 git commit --amend -m "new commit message"

git push origin [本地分支]:refs/for/[远程分支] : 将本地分支推送到远程主句origin对应的分支

git push origin HEAD:refs/for/master : 将当前工作的分支推送到远程主机origin对应的master分支

 

查看信息:

git log : 查看当前分支的版本提交历史

git status : 查看当前工作区和暂存区的文件状态

git diff : 比较暂存区和工作区文件的差别,详细用法讲解请点这里

git diff --cached <file> : 显示暂存区和上一个commit之间的差异

git diff HEAD : 显示工作区与当前分支最新commit之间的差异

git reflog : 查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作,git log不能查看已经删除的commit 记录)

 

撤销回退:

git checkout <file> : 将暂存区指定文件恢复到工作区,多个文件用空格隔开

git checkout . 将所有暂存区文件恢复到工作区

git checkout <commitId> <file> : 恢复某个commitId的指定文件到工作区

git reset --mixed : 默认值,暂存区中的内容会被新指向的commit提交内容所替换,工作区内容不变。

git reset --soft : 暂存区和工作区的内容都保持原样,不会被替换。

git reset --hard : 重置暂存区到指定版本并清空工作区代码,慎用!

 在git中用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

$ git reset --hard HEAD^ 回退到上个版本
$ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前
$ git reset --hard commit_id 回退指定commitId的代码

储藏:获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用。

假设这样一个情形,正在开发一个项目,距离完成还有一段距离,

这时有一个更为紧要的问题处理,需要切换到其他分支,

你又不想提交还未完成的代码,否则你可能无法回到这个工作点

解决这个问题的办法就是使用git stash命令

git stash : 储藏修改过的变更

git stash list : 查看现有的储藏

应用储藏:

  • git stash apply
  • git stash pop

如果你想应用更早的储藏,你可以通过名字指定它,像这样:git stash apply stash@{2}。如果你不指明,Git 默认使用最近的储藏并尝试应用它:

git stash pop功能与git stash appy大致一样,区别如下:

(1).pop将储藏内容弹出并应用,储藏内容会被从储藏列表中删除。

(2).appy仅仅是应用,不会将储藏从储藏列表中删除。

 

删除储藏:

$ git stash drop stash@{1}    //删除指定储藏
$ git stash  clear      //删除所有储藏
 

设置用户名:

git config [--global] user.name "yourname" 

设置用户邮箱:

git config [--global] user.email "youremail"

查看git设置列表信息:

git config --list 可以缩写成git config -l 

查看用户信息:

git config -l | grep user

 

 

 

参考:常用Git命令清单-阮一峰

转载于:https://www.cnblogs.com/AIonTheRoad/p/11358225.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值