码迷,mamicode.com
首页 > 其他好文 > 详细

git常用命令汇总,整理

时间:2016-05-02 11:43:29      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:

  由于之前做个web项目去转盘网(http://www.quzhuanpan.com), 和几个朋友一起做的,考虑到代码托管,团队协作,所以深入研究了下git,下面是一些git常用的命令,分享给大家,希望大家喜欢。

1. 建立空的版本库 (管理员使用,普通用户忽略)
git --bare init
或者 :
mkdir -p src.git
cd src.git
git --bare init --shared


2. 整理源代码 (管理员使用,普通用户忽略)
(1) 删除源代码里的编译生成的文件和文件夹
(2) 删除源代码里的.git文件夹和.gitignore文件
find . -type d -name ".git"|xargs rm -rf
find . -type f -name ".gitignore"|xargs rm -rf
find . -type f -name ".gitattributes"|xargs rm -rf


在一个目录下面递归查找包含指定字符串的文件
grep ‘string‘ . -r --color


3. 配置git (重要,每个用户都需要使用)
git config --global color.ui true 使git 能还显示颜色
git config --global user.name "nick.wang" 设置git 用户名
git config --global user.email wangwei@wldtech.com 设置git 邮箱


4. 查看历史 (重要,每个用户经常使用)
git log --name-status
显示每次修改的LOG和修改的文件列表


git log --graph
显示版本图


5. 查看差异
git diff
显示工作空间与暂存区的差异


git diff --cached
git diff --staged
显示暂存区与git库的差异


6. 忽略已跟踪的文件
已经跟踪的文件,再用.gitignore忽略会不起作用,此时可以用下面的命令:
git update-index --assume-unchanged FILE_NAME


撤销该操作使用下面的命令:
git update-index --no-assume-unchanged FILE_NAME


7. 合并最近的两次提交
git commit --amend -m "XXXX"
将本次提交一上一次提交合并为一次提交


8. 远程操作
git remote -v 显示远程版本库
git remote add NAME URL添加远程版本库


例如: git remote add mt6575-ics2 wangwei@192.168.1.238:~/repo/lily5-ics2.git
如果要将本地版本库中的分支branch_A推送到mt6575-ics2上的远程分支branch_B上
可以:
git push mt6575-ics2 branch_A:branch_B
如果要将mt6575-ics2所有分支拉到本地来
可以:
git fetch mt6575-ics2
再将工作空间切换到mt6575-ics2的branch_B
git checkout --track mt6575-ics2/branch_B


如果B代码库是从A代码库clone而来,那么A库的名字自动为: origin
可以:git pull orgin master, 或者git push orgin master


将本地分支推送到远程分支
git push origin local_branch_name:remote_branch_name


显示远程分支:
git branch -r


显示所有分支(包含远程分支和本地分支)
git branch -a


获取远程分支:
git checkout -b 本地分支名 远程分支名
或者
git checkout --track origin/R8625QSOSKQLY_3020
以上两条命令效果差不多


9. 分支操作
显示本地分支
git branch


从当前位置创建分支
git branch <branch_name>


从指定位置创建分支
git branch <branch_name> <commit_id>


将已经创建的分支重命名
git branch -m <old_branch_name> <new_branch_name>

 


显示远程分支
git branch -r


显示本地分支和远程分支
git branch -a


将远程版本库的分支branch_a取到本地,同自动创建一个名字为branch_a的本地分支
git checkout --track origin/branch_a
注意: origin可以换成其它远程版本库的别名
例如:

假如用户在8705c的版本库中工作,又给8703c的远程版本库取了别名:


git remote add 8703C public@192.168.1.40:~/repo/8703c-ap.git

那么,可以在8705c的版本库中通过别名8703C去获取8703c的任何分支


git fetch 8703C //同步8703c到8705c的版本库


git branch -a //显示8703c和8705c的所有分支信息


git chekcout --track 8703C/branch_a
//将8703c的远程分支拉到8705c的本地版本库,
//并自动创建同名的本地分支,再切换到此分支


10. 打标签
git tag -a MOBA-MSM8x25Q-3050-AP-V0.0 -m "xxx"
git tag -s v1.x -m "xxx"


11. 版本回退
git reset --hard commit_id 彻底回退到指定版本,包括版本库和工作空间
git checkout commit_id


12. 保存工作状态
git stash "the comment of current working state" //将工作空间的修改保存,然后将工作空间的代码恢复到最新一次提交的状态
git stash apply //恢复到上面的状态


也可以多次缓存,系统会将缓存保存在队列中,用下面的命令可以看到已经保存的缓存列表
git stash list
使用任意一个缓存可以用下面的命令
git stash apply stash@{1} //1可以根据需要改成其它数字


13. 将服务器上的版本库回退
git reset --hard <commit_id>


git push origin HEAD --force


14. 从codeaurora上下载AP代码的命令:
repo init -u git://codeaurora.org/platform/manifest.git -b release -m LNX.LA.3.2.1.4-00610-8x26.0.xml --repo-url=git://codeaurora.org/tools/repo.git

 


15. patch相关操作
将当前分支与指定分支比较,将不同的提交生成patch
git format-patch -M <local branch name>

切换到目标分支后,应用某个patch
git am XXXX.patch


同一个分支上可以提取任意两次提交之间的patch
git format-patch <commit_id old>..<commit_id new>


注意:<commit_id old>代表离当前较久远的一次提交,<commit_id new>代表离当前时间较近的一次提交,两次提交之间用两个.连接。

git是个十分方便的工具,合理利用,事倍功半。
另外有兴趣的朋友也可以看看我们的gif在线制作工具:http://sosogif.com/make_online.jsp

 

git常用命令汇总,整理

标签:

原文地址:http://www.cnblogs.com/hardmore/p/5451998.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!