Git常用命令与团队合作

Git常用命令与团队合作

Git 是一个很强大的分布式版本控制系统。它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势。在团队合作时作用不言而喻,更是为了解决团队合作代码冲突而生。

Git常用命令

初始化新版本库:git init全局设置:git config --global user.name "xzavier"  git config --global user.email "xzavier.xxx.com"克隆版本库:git clone "url"查看分支:git branch创建分支:git branch branch_name切换分支:git checkout branch_name创建+切换分支:git checkout -b branch_name合并某分支到当前分支:git merge branch_name重命名分支:git branch -m branch_name branch_new_name //不会覆盖已经存在的分支重命名分支:git branch -M branch_name branch_new_name //会覆盖已经存在的分支删除分支:git branch -d branch_name 强制删除分支: git branch -D branch_name删除远程分支: git push origin : branch_name 拉取代码:git pull origin branch_name查看更改:git status 查看更改细节: git diff file_name查看谁修改过代码: git blame filename回到上次修改: git reset --hard添加单个文件:git add filename.js 添加所有js文件:git add *.js添加所有文件:git add .提交添加的文件:git commit -m "your description about this branch"提交单个文件:git commit -m "your description about it" filename.jspush分支:git push origin your_branch_name备份当前分支内容:git stash //在后面再讲讲这个查看历史记录:git log创建标签:git tag 1.0.0  //标签无法重命名显示标签列表:git tag 切出标签:git checkout 1.0.0删除标签:git tag -d 1.0.0查看git远程网址:git remote -v更改git远程网址:git remote set-url origin https://github.com/USERNAME/OTHERREPOSITORY.git  ; git remote set-url origin git@github.com:USERNAME/OTHERREPOSITORY.git

git远程网址参考:Changing a remote's URL

设置Git快捷命令

如果你用的是 git bash 或者 XSHell 的话,在记住了命令含义的情况下,工作时键入快捷命令会提高工作效率。
在git bash中进入c://User/user,执行touch .bashrc,然后在此目录下会生成一个.bashrc文件,将下面的快捷命令拷入保存即可,快捷命令可自行修改添加,主要是自己习惯和喜欢。
在XSHell里快捷命令是在~/.bashrc中配置,在XSHell中 vim ~/.bashrc,把以上命令加到合适的位置保存(:wq)即可。

alias gs='git status'alias gd='git diff'alias ga='git add'alias gc='git commit'alias gck='git checkout'alias gb='git branch'alias gl='git log'alias gthis='git rev-parse --abbrev-ref HEAD'alias gpushthis='git push origin `gthis`'alias gpullthis='git pull origin `gthis`'alias gup='git remote update'alias gpl='git pull origin'

简易团队合作

早上来上班,处理好邮件,开完早会,打开虚拟机,切到master分支,拉一下代码:

git pull origin develop/master 

开始写代码。当然,作为团队一员,肯定不能再master分支上写代码。

新建分支:

git checkout -b branch_name(分支名按照一定规范会很好) 

然后工作安安静静的写代码,这时候如果有别的分支上需要处理点紧急bug什么的,又不能现在提交代码。

那就先保存起来吧:

git stash  (见后面git status)

切到别的分支修改代码 :

git checkout -b branch_name

修复bug后提交代码查看修改:

git status

需要查看修改的细节:

git diff file_name

没有问题了,那就提交吧(三部曲):

git add file_name (一般来说你可以 git add . 点符号代表所有修改文件) git commit -m "your description about this branch" git push origin your_branch_name

bug算是解决了,那就回到正常的工作吧,切回原来的分支:

git chekcout -b your_old_branch

恢复刚刚保存的内容: git stash pop (至于这个pop,详细需要自己去找官网或者博客学习,简单介绍

git stash: 备份当前的工作区的内容,保存到Git栈中。git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。git stash clear: 清空Git栈。此时使用git等图形化工具会发现,原来stash的哪些节点都消失了。   

代码恢复了,就开始工作了。代码写完了,又是提交三部曲(快捷命令)。

gd .gc -m "your description about this branch" gpullthis    

最后合并到master,多个队员一个开发,一般合并master时要遇到冲突,这时相应开发人员就要出来解决冲突,冲突一般是多个开发员修改了同一处代码造成的。拉取master代码(队友也没合master就商量好拉他的代码,最后解决完冲突只把你这个分支提交就行了):

git pull origin master 

或者

git pull origin his/her_branch_name 

出现:

Auto-merging xzavier.js CONFLICT (content): Merge conflict in xzavier.js

看到conflict(冲突),找到相应文件,出现这样的地方:

    1>>>>>>

解决完冲突后提交即可,提交三部曲。

    gd .    gc -m "your description about this branch"     gpullthis

Git常用命令清单:阮老师的Git文章
阮老师的Git教程:Git教程

关键字:git

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部