Git命令

常用命令


git add xxx,yyy     # 添加xxx,yyy文件至index
git add .           # 添加当前目录下所有更改过的文件至index

3.git commit 把代码提交到本地仓库
git commit -m "xxx"             #把index中的代码提交到本地代码仓库
git commit --amend -m "abc"     #用一个新的commit和上一个commit的合并起来,并把注释替换为abc

4.git branch 对分支的增、删、查等操作
git branch              #显示本地分支,当前分支会被星号标示.
git branch -r           #查看远程分支
git branch -v           #查看本地所有分支的最后一次提交.
git branch -vv          #查看本地所有分支的最后一次提交,同时会显示对应的远程分支.
git branch xyz:         #创建名为xyz的分支(当你用这种方式创建分支的时候,分支是基于你的上一次提交建立的).
git branch -d xyz:      #安全删除xyz分支.
git branch -D xyz:      #强制删除xyz分支.

5. git checkout
git checkout xyz        #切换到xyz分支.
git checkout -b xyz     #创建xyz并切换到xyz的分支.
git checkout xyz        #撤销对文件xyz 的修改(加入是在AS中删除的,则不能恢复,猜测是因为在本地仓库中删除了。可以使用git reset HEAD^,这个应该是从远程仓库下载的)
git checkout -b xyz 4a083615c #新建xyz分支,并同步到4a083615c这次提交后的代码(切换到4a083615c版本)

5.1 git reset
git reset HEAD xyz.c       #将xyz.c从索引区移除(但会保留在工作区)
git reset HEAD^              #回退最后一次提交到工作区
强制覆盖本地文件 同时执行两个
git fetch --all
git reset --hard origin/master

6.git fetch origin develop  #从远程库develop分支把代码拉到本地仓库,不会进行merge
 .git merge origin/develop  #把远程库develop分支的改动合并到当前工作空间

6.1分支合并有冲突:
 a. git merge xx (合并xx分支到当前分支)
 b. 使用编辑器解决冲突 (解决冲突时修改的文件会显示在提交记录里,未修改的不会出现在提交记录里)
 c. git add . (使用 "git add <文件>..." 标记解决方案)
 d. git commit -m "merge note" (使用 "git commit" 结束合并)
 e. git pull (获取最新代码,否则git push时可能会出现错误:missing Change-Id in commit message footer)
 f. git push origin HEAD:refs/for/xyz  (把提交push至远程xyz分支) 

6.2分支合并没有冲突
 a. git merge xx (合并xx分支到当前分支)
 b. git commit --amend (无冲突的合并要用该命令,否则git push时会出现错误:no new changes。)
执行该命令会进入GNU nano窗口,类似于vi编辑状态,执行以下四个步骤即可
 1 修改注释 (不修改注释,请跳过)
 2 ctrl+O  (Write Out)
 3 回车  (确定Write Out)
 4 ctrl+X  (离开,提交完成)
 c. git pull (获取最新代码,否则git push时可能会出现错误:missing Change-Id in commit message footer)
 d. git push origin HEAD:refs/for/xyz  (把提交push至远程xyz分支)


7.git pull
git pull origin develop #从远程库origin的develop分支上拉取代码

8.git push

git push --all                          # push 所有branch
git push --tags                         # push 所有tag
git push origin HEAD:refs/for/xyz           #把本地仓库commit的代码push到远程xyz分支上(Gerrit 提交代码固定格式)


9.git rebase origin/develop #从远程库origin的develop分支上拉取代码

10.git diff  (按q退出查看diff)
git diff                # 比较 local 和 index 的区别
git diff --cached       # 比较 index 和 workspace 的区别
git diff HEAD^          # 比较 前一次commit 和 workspace 的区别

11.git log              #显示 commit 的列表

12.git reflog           #查看所有分支的所有操作记录(包括已经删除的commit和reset的操作)

13.git rm
git rm --cached --force app/app.iml     #忽略跟踪该文件
git rm -r xxx                           #递归删除xxx目录

14 push到远程仓库同一个提交
git status
git add .
git pull
git commit --amend
ctrl+O
回车
ctrl+x
git push origin HEAD:refs/for/develop

15.git fetch origin --prune 同步远程新增或删除的分支



转自:https://www.jianshu.com/p/379324f0b7db

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值