您的位置:首页 > 其它

git 日常使用整理(持续更新)

2017-12-17 01:38 253 查看

基本业务场景处理

1. 使用git查看比较两次提交的差异,仅查看变化的文件:

git diff code1 code2 --name-only


2. 使用git比较两次提交的差异:

git diff code1 code2


以上命令即将列出所有的文件及改动部分;注意比较次序,是code2相对于code1的变动,即code2被认为是最近提交;

同时如果想以当前提交作为起点进行推算,那么可以借助HEAD指针:

git diff HEAD~1 HEAD~0 --name-only


以上命令表示列出上上次提交和最近一次提交变动的文件列表;

3. 使用git提交到远程分支

git push origin local_branch_name:remote_branch_name


其中 local_branch_name即为本地当前的提交分支名称; remote_branch_name即为将提交至的远程分支名称;

当然如果已经建立了本地分支和远程分支的追踪关系,那么直接可以省掉后面的分支信息:

git push origin


4. 建立本地分支与远程分支的追踪关系

为了便于分支管理和提交,最好的做法是在本地创建分支时即创建本地分支与远程分支的追踪关系,并且为了方便,最好是使用相同的分支名称:

git checkout -b local_branch_name origin/remote_branch_name


通过这种方式,就可以直接在本地创建一个与远程分支相对应的本地分支;

5. 显示当前所有本地分支与远程分支的追踪关系

为了实时看到当前的分支状态:本地所有分支、本地分支和远程分支的追踪关系、当前分支的更新状态等;

git remote show origin


6. 本地修改与远程代码合并

同一个分支当前可能同时由多人在协同开发,因此在提交本地修改时,本地代码可能已经过期,需要与远程分支上最新代码合并之后才能提交;

1. 首先需要保存下我们当前本地的修改:

git stash


2.当执行完以上命令,当前本地将回到修改前的commit,此时可以继续更新远程分支上的提交:

git pull origin


此时,远程分支上的提交就会被同步下来,此时本地代码已经被同步为远程分支上的最新代码;

3.此时需要将我们之前所做的修改与当前库上最新的代码进行合并

git stash pop


并且会执行自动合并,如果没有冲突,那就可以检查后直接提交;但是如果有冲突,就去合并之后的文件中找到冲突的地方,全部冲突修改完成之后,再提交即可;

关于stash 的用法后面还有更多介绍。

基本命令功能

本节对各个基本命令的用法/参数进行详细的介绍,深入了解各个命令的详细用法,可以覆盖更多的业务场景,提升管理效率。

1. git stash

git stash 命令用于暂存当前本地工作临时状态,用于紧急处理其他任务/合并远程修改进行本地提交/本地变更尝试方案等场景。

//会将当前的工作状态进行缓存,默认有递增id
git stash
//在将当前的工作状态进行缓存的同时,给本地缓存进行备注
git stash save "description"
//查看当前已经缓存列表
git stash list
//根据在stash list中的缓存列表id,可以指定恢复到某一个工作状态
git stash apply stash@{id}
//与apply命令不同,执行pop命令之后,stash缓存中即会移除该stash;
git stash pop stash@{id}
//清除所有stash缓存
git stash clear
//移除某个stash
git stash drop stash@{id}


git stash 支持跨分支的,但是同时每个stash均会有所在分支及基准commit记录,因此可以清晰知道每个stash该合并到何处分支的commit。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git