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:<分支名> //推送一个空的分支到远程分支,也相当于删除一个远程分支。 
查看分支的详细信息:git branch -av 
 

  
  
16.禁用Fast forward 方式合并代码

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息,git merge --no-ff -m "注释" <分支名> //合并代码并禁用Fast fowward。

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的朋友可能比较喜欢):http://download.csdn.net/detail/sanfye/8992773 
 
该文档会持续更新,如有不对的欢迎大家指出来,以免误人子弟。
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值