Git常用命令

1.获取远程gitlab上的代码到本地:其中http://www.xxx.git为远程项目的url

git clone http://www.xxx.git

从远程指定分支上拉取代码,使用Git下载指定分支命令为:git clone -b 分支名 仓库地址

git clone -b develop http://www.xxx.git

2.查看当前所属本地分支状态以及在当前分支是否有修改代码:

git status

3.查看当前项目所有分支:

git branch -a

查看本地所有分支

git branch 

查看本地分支与远程分支的关联

git branch -vv

4.切换分支并将本地分支和远程分支进行绑定:其中localBrachName为自定义的的本地分支名,remoteBranchName为远程分支的全名,例如origin/develop

git checkout -b localBrachName remotes/remoteBranchName

  如果已经将本地分支和远程分支进行了绑定,那么切换分支时只需要执行:

git checkout localBrachName

  在该分支上所作的修改提交后会同步到已经绑定好的远程分支

5.新建本地分支与远程分支关联:其中localBrachName为本地分支名,remoteBranchName为远程分支全名,例如origin/develop

git branch --set-upstream-to=remoteBranchName  localBrachName

6.比较修改文件前后的不同:其中filename为待比较的文件名

git diff filename

7.添加改动的文件到本地仓库:其中filename为待添加的文件;如果有多个文件时,文件之间用空格隔开,或使用命令:git add . 将所有文件添加到本地仓库

git add filename

8.提交修改到本地仓库:其中message为本次提交的备注信息

git commit -m 'message'

9.提交修改到远程分支:

git push

10.分支合并:先切换到合并的分支,例如合并到develop分支,则先切换到develop分支,然后再执行下面命令;其中localBranchName为被合并的分支;合并完成之后需要执行git push,同步到远程分支

git merge localBranchName

11.建立本地仓库与远程仓库的关联:

git remote add origin http://www.xxx.git

12.远程新建分支后,本地看不到新分支的情况,执行该命令刷新:

git remote update origin --prune

13.删除本地分支(-D强制删除)

git branch -d test

14. 使用.gitignore文件可以配置忽略规则,如果没有.gitignore文件,可以自己手动创建。在.gitignore文件中的每一行保存一个匹配的规则例如:

# 此为注释,将被 Git 忽略

*.a         # 忽略所有 .a 结尾的文件
!lib.a      # 忽略规则中lib.a 除外
/vendor     # 仅仅忽略当前目录下的vendor文件,不包括其他目录下的/vendor
build/      # 忽略 build/ 目录下的所有文件
doc/*.txt   # 忽略 doc目录下所有txt后缀的文件

在想要忽略内容的目录下创建.gitgnore,编辑.gitignore文件,用git status查看状态,想要忽略的文件还是显示被追踪状态。原因是git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被提交到版本管理中,就算是在.gitignore中声明了忽略文件也是不起作用的,这时候我们就应该先把本地缓存删除,然后再进行git add,这样就不会追踪忽略的文件了。git清除本地缓存命令如下:

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

15.强制返回上一次的源码状态(其中xxxxxx为提交前面的6位数,可用 git log查看)

git reset --hard xxxxxx

16.git diff提示filemode发生改变(old mode 100644、new mode 10075)

文件chmod后其文件某些位是改变了的,如果严格的比较原文件和chmod后的文件,两者是有区别的,但是源代码通常只关心文本内容,因此chmod产生的变化应该忽略,所以设置一下,切到源码的根目录下

git config --add core.filemode false

17.放弃本地修改

git checkout .  #本地所有修改的。没有的提交的,都返回到原来的状态
git stash       #把所有没有提交的修改暂存到stash里面。可用git stash pop恢复
git reset --hard HASH  #返回到某个节点,不保留修改。
git reset --soft HASH  #返回到某个节点。保留修改   

18.撤销操作主要有如下几种

git commit   --amend        撤销上一次提交  并讲暂存区文件重新提交
git checkout -- <file>     拉取暂存区文件 并将其替换成工作区文件
git reset HEAD  -- <file>  拉取最近一次提交到版本库的文件到暂存区  改操作不影响工作区

19.查看某一段代码的最后提交人

git blame -L 100,100 <filename>
git blame -L 100,+10 <filename>
git blame <filename>

20.查看某一段代码的提交历史

git log -L start,end:<filename>
git log -L 155,155:<filename>

21.删除git commit 中间的提交

git rebase -i (commit-id)
#commit-id 为要删除的commit的下一个commit号,在需要删除的commit前面编辑drop然后保存,再执行git push -f

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值