git杂记

来源:互联网 发布:vevo lazr软件下载 编辑:程序博客网 时间:2024/05/22 05:30

说明:本文只是记录了部分重点操作,强烈建议开源在线的:《Pro Git中文版》

通过git命令下载指定分支代码

git clone -b 分支名 仓库地址
例如:git clone -b v2.8.1 https://git.oschina.net/oschina/android-app.git

git 代码提交

代码提交一般有五个步骤:
1.查看目前代码的修改状态
2.查看代码修改内容
3.暂存需要提交的文件
4.提交已暂存的文件
5.同步到服务器

1)、查看目前代码的修改状态 git status
2)、查看代码修改内容 git diff
3)、暂存需要提交的文件,这一块比较重要
如果是新建的文件
则git add

如果是修改的文件
则git add

如果是删除的文件
则 git rm
显然,使用git add当文件比较多的时候,这样一个一个操作是很麻烦的,这时可以用以下几个命令:
git add -u []: 把中所有tracked文件中被修改过或已删除文件的信息添加到索引库。它不会处理untracted的文件。
省略表示.,即当前目录。
git add -A: []表示把中所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库。
省略表示.,即当前目录。
git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。

注意:这几个命令都是相对于当前目录的,所以如果在要目录下操作,就是针对所有文件,最好是切换到工作子目录,就不会把那些无关紧要的文件添加进去。

4)、提交已经暂存的文件 git commit -m ‘message’
5)、同步到服务器
同步到服务器前先需要将服务器代码同步到本地
命令: git pull
如果执行失败,就按照提示还原有冲突的文件,然后再次尝试同步。
命令:git checkout – <有冲突的文件路径>
同步到服务器
命令: git push origin <本地分支名>
如果执行失败,一般是没有将服务器代码同步到本地导致的,先执行上面的git pull命令。

git代码合并到主分支

1、先切换到主分支 git checkout master。
2、别人可能修改了代码,所以先拉下来 git pull。
3、merge之前 开发的 git merge –squash boxiao.wpl,squash意思是开发分支里面commit很多次,我们直接把代码合过来,message信息不要。(注意–squash 前面是两个连续的-)
4、提交 git commit -a -m ‘your message’。
5、上传 git push。

删除不需要提交的文件

如果已经提交过,使用$ git rm –cached .idea/workspace.xml 其中workspace.xml是你的文件。然后再使用git commit 和git push就以从本地仓库和远程仓库删除文件了。
git rm –cached 和git rm 的区别是git rm 连本地文件也删除了而git rm –cached只删除git的跟踪。

删除分支

1、删除本地分支
删除本地分支前需要先切换到其他分支
git branch -d XX,如果本地有代码没提交,会提示:he branch XXX is not fully merged。解决方法:使用大写的D 强制删除 git branch -D XXX
2、删除远程分支
删除本地分支后,再使用 git push origin :XXXX

打印git diff文件

1、打印出git log
2、找出需要对比的两个版本号
3、git diff versionid1 versionid2 > file.diff

如果两个版本间的文件差别太大,可以指定文件或者文件夹来打印diff,
比如 git diff versionid1 versionid2 ./folder1/ ./folder2 > file.diff

git远程删除分支后,本地git branch -a 依然能看到的解决办法。

git remote prune origin
参考:http://blog.csdn.net/qq_16885135/article/details/52777871

合并多个 Commit

参考:http://www.jianshu.com/p/964de879904a

原创粉丝点击