git

git常用操作

Posted by Codeboy on September 15, 2015

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

复制完整项目

git clone http://xxxxxx.xxx/xxxxx

检出分支(a)到本地(b)

git checkout -b [my_local_branch] [my_remote_branch]

例如:把远程dev/1.0.0分支本地feature/1.0.0_my分支,

git checkout -b feature/1.0.0_my dev/1.0.0

跟踪分支

git branch --set-upstream-to=origin/[my_remote_branch] [my_local_branch]

或者

git push -u origin [my_remote_branch]   //注意: 会直接push一次

例如: 把本地feature/1.0.0_my分支管理到远程feature/1.0.0_my分支,

git branch --set-upstream-to=origin/feature/1.0.0_my feature/1.0.0_my 

因为之前所建分支是从dev/1.0.0中获取,所以本地feature/1.0.0_my与远程dev/1.0.0分支关联,执行git push(不加其他)的话,feature/1.0.0_my分支的新代码将会上传至dev/1.0.0分支,所以我们需要重新关联分支,当然可以git push的时候指定远程的分支。

提交代码

git add .     //也可以部分添加,此处添加所有变动文件

git commit -am '注释说明'

增加tag

git tag -a [tag_name] -m '注释说明'   //在需要的时候打tag

git push origin [tag_name]  //上传tag到远程仓库

git push origin --tags  //推送所有本地没有提交的tag

推送本地代码到远端

git push  //推送到默认关联分支

git push origin [remote_branch]  //推送到指定分支

切换分支

git checkout [branch_name]

git checkout -b [branch_name] //没有分支的话新建改分支

合并分支

git merge [branch_name]   //将branch_name分支合到当前分支

获取远端更新

git pull  //获取更新自动合并到本地分支

git fetch //获取更新单不自动合到本地分支

查看本地分支

git branch

查看远程分支

git branch -r

删除分支

git branch -d [branch_name]  //-d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项

合并分支

git merge [branch_name]  //将名称为[brand_name]的分支与当前分支合并

删除远程分支

git push origin :[branch_name]

恢复某个文件

git checkout -- [filename]  //注意,两个短横线左右都有空格

撤销本地上一次提交

git reset --soft HEAD^ 

撤销远程最后两次提交

git reset --soft HEAD~2 

如有任何知识产权、版权问题或理论错误,还请指正。

转载请注明原作者及以上信息。