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

Git常用命令

时间:2015-08-11 23:34:33      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:git   git命令   git常用命令汇总   

1.用户名/邮箱全局配置:
$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"
2.初始化一个Git仓库,使用git init命令:git init
3.添加文件:git add Test4 ;//Test4文件夹及其下面的文件全部添加至版本库,多个文件:git add test1.txt test2.txt
技术分享
技术分享
4.提交文件只本地仓库:git commit -m "注释" ;也可以使用git commit -am "注释" //添加并提交
技术分享
5.查看版本状态:git status
技术分享
6.查看日志:git log  ; git log --pretty=oneline
技术分享
7.版本回退:git reset --hard HEAD^ //回退到上一个版本,或者:git reset --hard HEAD~ ;
在Git中,用HEAD表示当前版本上一个版本就是HEAD^,上上一个版本就是HEAD^^,如果回退到上n个版本则  HEAD~n,另参见 9 
技术分享
8.分析修改内容:git diff [文件名]
 git diff:是查看working tree与index file的差别的。
 git diff --cached:是查看index file与commit的差别的。 
 git diff HEAD:是查看working tree和commit的差别的

9.查看命令历史:git reflog,通过此命令可以重返未来,如果你回退版本了,但现在又想回退回去,可通过此命令查看commit_id,再通过 git reset --hard commit_id 命令恢复
技术分享
恢复 test1文件 commit_id:3f76c8a
技术分享
10.撤销修改
  10.1、只是修改工作区的内容,还没有进行add操作保存到暂存区:git checkout -- test1.txt
技术分享
10.2、修改内容已经保存至暂存区,想丢弃修改需分两步,第一步:使用版本回退命令:git reset HEAD file ;
技术分享
第二步:回到了10.1的操作,按10.1操作进行即可
技术分享
10.3、修改内容提交至本地版本库,还没提交至远程版本库,可以直接进行版本回退即可,参考:7 版本回退。
11.删除文件:git rm <filename>,然后commit提交
技术分享
11.1、如果手工物理删除文件后,其状态:
技术分享
这时,除可以上面方法外操作提交外,还可以用 git add --all //会级联进行添加、修改、删除。
或:git commint -a -m "注释内容" //相当于先 -a 然后再 commit。
技术分享
12、提交至远程仓库:git push //默认把当前master推送到远程,注意第一次推送时要加上 -u ,git push -u 或git push -u origin master 以后可以省略(git push 或者 git push origin master )。
技术分享
12.1 推送分支:git push origin branch_name 
13.关联一个远程库:git remote add origin https/SSH地址; 

关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

技术分享
14.克隆一个仓库至本地:git clone https/SSH地址 eg:
git clone git@git.oschina.net:sanfye/SpringMVC_MyBatis_Demo.git
技术分享
15.分支创建、删除、修改

Git鼓励大量使用分支:

查看分支:git branch

创建分支:git branch <分支名>

切换分支:git checkout <分支名>

创建+切换分支:git checkout -b <分支名>

提交分支:推送分支:git push origin  <分支名>

合并某分支到当前分支:git merge <分支名>//要先切换至当前分支,再进行合并(eg:合并至主线,要先切换至主线版本)。

删除分支:git branch -d <分支名>

强行删除分支:git branch -D <分支名果要丢弃一个没有被合并过的分支,必须通过强行删除。

技术分享
查看本地分支和远程仓库分支:git branch -a/--all
技术分享
删除一个远程分支:git push origin --delete <分支名> 或: git push origin:<分支名> //推送一个空的分支到远程分支,也相当于删除一个远程分支。
16.禁用Fast forward 方式合并代码

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。

git log --graph 命令可以看到分支合并图。
技术分享
17.查看远程库的信息:git remote 或者:git remote -v 
技术分享
18.从远程仓库拉取内容:git pull
技术分享
19.
   在本地创建和远程分支对应的分支,使用git checkout -b branch-name(本地分支名) origin/branch-name(远程分支名),本地和远程分支的名称最好一致。
    建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name(本地分支名) origin/branch-name(远程分支名);注意--set-upstream方法将要弃用,新版的用:git branch --set-upstream-to branch-name或git branch --track branch-name 。
技术分享
从本地推送分支,使用git push origin branch-name。
技术分享
20.创建和查看标签
  创建标签:git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;eg:git tag v2.0

  默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,怎么办?方法是找到历史提交的commit id,然后打上就可以了:

git log --pretty=oneline --abbrev-commit //查找历史提交commit_id信息。

git tag v1.1 commit_id //创建指定标签

  创建带有说明性的标签,用-a指定标签名,-m指定说明文字:git tag -a v1.5 -m "version 1.5 released" commit_id

  创建带PGP签名的标签:git tag -s V1.5 -m "版本说明信息" commit_id

查看标签信息:git tag 或 git show <tag_name>

  • 命令git push origin <tagname>可以推送一个本地标签;

  • 命令git push origin --tags可以推送全部未推送过的本地标签;

  • 命令git tag -d <tagname>可以删除一个本地标签;

  • 命令git push origin :refs/tags/<tagname>可以删除一个远程标签。

  • 命令git push origin:<tagname> //推送一个空的标签库,相当于删除一个远程同名的标签库
  • 命令git push origin --delete <tagname> //删除一个远程分支
21.配置别名 alias ,
注意:加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.unstage ‘reset HEAD‘
git config --global alias.last ‘log -1‘ //git last,让其显示最后一次提交信息:
也可以直接在配置文件中进行修改:
修改当前仓库的Git配置文件,文件放在.git/config文件中;全局的配置文件放在用户主目录下的一个隐藏文件.gitconfig中;在配置文件加上(可以直接对配置文件进行修改):
[alias]
    last = log -1
22.查看文件 
  • git ls-files //会列出当前目录下的所有文件
技术分享
git ls-files --directory //也是列出当前目录下的文件,不知和上面的命令有何区别
技术分享
  • git ls-files -c/--cached //列出缓存中的文件,也是默认的
  • git ls-files -d/--deleted //列出删除的文件
  • git ls-files -m/--modified //列出修改过的文件
  • git ls-files -o/--others/-i/--ignored //列出未被git跟踪的文件或被忽略的文件
官方文档:http://git-scm.com/docs
git工具,msysgit下载地址:http://git-scm.com/download 或:http://download.csdn.net/detail/sanfye/8992743
TortoiseGit类似SVN的TortoiseSVN(之前使用svn的朋友可能比较喜欢):

该文档会持续更新,如有不对的欢迎大家指出来,以免误人子弟。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Git常用命令

标签:git   git命令   git常用命令汇总   

原文地址:http://blog.csdn.net/sanfye/article/details/47427153

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