您的位置:首页 > 其它

git常用命令汇总(命令行模式)

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

TEL:百度网盘爬虫
百度图片爬虫
java中文分词算法

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: