Git各种命令归纳版

1.克隆:
单纯的克隆名字: git clone [url]
自定义新建项目名称: git clone [url] [项目名字]

2.跟踪文件:
git add [文件名]

3.添加忽略文件
使用DOS创建.gitignore文件 touch .gitignore

4.查看文件状态:
查看当前的文件状态: git status
查看已缓存文件中和未暂存文件中相同文件的差别:git diff
查看已缓存文件中和已暂存文件中相同文件的差别:git diff –cached

5.git删除文件:
若是只删除本地文件,使用git status 后git会提醒你此文件已修改但是没有加入缓存。
删除本地文件并且让git不在追踪该文件:git rm [文件夹名字]
删除的文件已被add到缓冲中,在删除本地文件之后: git rm -f [文件名字]
仅仅删除git仓库中的跟踪目录,但是保留本地文件。 git rm –cached [文件名]
批量删除文件:使用glob模式:git rm long/*log

6.移动文件
git并不追踪对文件的移动的操作
使用git 重命名文件:git mv file_from file_to
[此类对文件的移动操作,git本质是不追踪的,但是git 能将mv操作分解为:mv readme.txt readme git rm readme.txt git add readme]

7.git分支系列
git新建分支:git branch [分支名]
git快捷建立以前版本的分支:git branch [分支名] [版本编号]
git切换当前工作分支: git checkout [分支名] //切换分支记得让当前工作目录为clear
git新建分支并且切换当前工作分支: git checkout -b [分支名]
git分支合并:当前分支与[分支名]合并 git merge [分支名]
git删除分支:git branch -d [分支名]

git分支合并后标记冲突解决:git add [文件名]
git查看当前所有的分支:git branch
git查看已合并分支消息:git branch –merge
git查看未合并分支消息:git branch –no-merge
git查看分支的详细信息:git brach -v
git强行删除未合并的分支:git bracn -D [分支名]

8.git远程分支
git同步远程数据到本地仓库:git fetch [仓库名]
git将本地分支提交到远程分支上:git push [仓库名] [分支名] 若远程仓库并没有此分支,自动创建
git本地分支上传到远程分支并重命名:git push [仓库名] [分支名]:[新分支名]
#因为从git上clone下来的项目只有master和本地的master关联的,分支并没有和本地分支关联。
git checkout [本地分支名] [远程分支名]
git删除远程分支:git push [仓库名] :分支名
git修改远程分支关联仓库:$ git checkout –track origin/serverfix /
同样得名字,不同的仓库*/
git修改本地分支的名字:git checkout -b sf origin/serverfix

9.git远程仓库
git关联远程仓库:git remote add origin [url]
git修改远程关联仓库:git remote origin set-url [URL]
git查看当前所有的远程仓库:git remote
git查看远程仓库所展示的信息:git remote show [origin]
git 查看远程仓库对应详细地址:git remote -v
git添加远程仓库:git remote add [仓库名] [url]

10.git对远程仓库的操作
git 从远程仓库抓取数据到本地(包括分支):git fetch [仓库名] *fetch 只拉取数据,不进行合并
git设置本地分支远程分支关联后:git pull *pull会自动合并数据

11.git推送数据
git推送数据到远程仓库:git push origin master
git查看远程仓库的详细信息:git remote show [仓库名]

12.git 对远程仓库的修改
git重命名仓库: git remote rename [原本仓库名] [修改仓库名]
git远程删除仓库:git remote rm [仓库名]

13.git标签
git查看git的标签:git tag
git标签的删除:git tag -d ‘v1.4.2.*’
git新建含附注的标签:git tag -a v1.4 -m “my version 1.4”
git查看标签信息:git show v1.4
git新建轻量级标签:git tag v1.4
git补加标签 git tag -a [标签名] [版本校验和]
git分享标签到远端服务器:git push [origin] [标签名]
git分享所有标签到远端服务器:git push [origin] –tags
git删除远程标签:git push origin –delete tag [标签名] ||git push origin :refs/tags/标签名
git批量显示详细的标签信息:git tag -l v1.4.5

14.git快捷键别名
git修改命令快捷键:git config –global alias.[快捷键] [对应完成名]
//使用教学
git config –global alias.co commit
git co -m “message” 等同于 git commit -m “message”
git config –global alias.unstage ‘reset HEAD –‘
git unstage fileA 等同于 git reset HEAD fileA
git config –global alias.last ‘log -1 HEAD’
git last 即可查看最后一次提交信息

15.git查看历史记录
git简单查看历史记录:git log
git查看简单的哈希值的历史记录:git log –abbrev–commit –pretty=oneline
git查看分支详细信息:git show
git查看详细信息加条件:git show master@{yesterday}
git查看信息中:^ 表示父提交
【详细历史看git log附加命令】

16.git撤销对文件的操作
git 补充commit文件:git commit –amend 【–amend只用补充文件,并且不用再次编写说明】
git取消对暂存区文件中的暂存:git reset HEAD [文件名] (仅仅修改状态)
git取消对工作区文件的修改:git checkout — [文件名] (回退到最近的commit或者add状态)

17.git配置文件系列
git设置用户信息: git config –global user.name “[用户名]”
git config –global user.email [emal]
git设置默认文本编辑器:git config –global core.editor [编辑器]
git设置默认差异分析工具:
git config –global merge.tool [工具名]
git查看配置信息:git config –list

18.git获取帮助
git获取帮助:git help || git –help
git获取某个命令项的帮助:git help config

19.git衍合操作
衍合和合并的区别:合并是两个分支揉捏在一起,基本上是无序的,而衍合是分别按两个分支的修改时间有序的合并在一起,衍合最终会只有一个分支。两者的最终的结果是一样的,但是合并后的log是不一样的
git衍合分支:git rebase [需要衍合的分支名]
git切换分支基底:git rebase –onto [新基底] [以前的基底][需要换基底的分支]
git快捷衍合分支:
git rebase master server (不用切到本分支再衍合)

20.git暂存
有时做一些改动以后,有突发情况,但是这个时候有又不想commit,可以使用存储-stash
git添加贮存区:git stash
git查看贮存区:git stash list
git恢复贮存区:git stash apply (此种恢复方式恢复后贮存区还存在,需要手动删除)
git删除贮存区:git stash drop
git恢复并删除贮存区:git stash po
git保存暂存作为一个新的分支:git stash branch

21.git查看日志技巧
git可以使用点语法进行范围指明
例如:
git 查看两个分支的区别:git log origin/master..HEAD(存在origin中但是不存在HEAD中的)
git查看存在A但是不存在B的提交:git log refB –not refA
git查看存在A或B但是不同时存在AB中的提交:git log A…B
语法:双点语法:A..B.存在A但是不存在B中的
三点语法:A…B.存在A或B但是不同时存在A和B的

22.git Shell工具
git呼出git add工具:
git add -i

23.git 文件冲突处理工具
git add –patch/git add -p