Git常用命令

#查看用户名
git config user.name
#查看用户email
git config user.email

# 配置全局用户名
git config --global user.name "xxx"
# 配置全局邮件
git config --global user.email "xxx@xxx.com"

1.git status 显示工作区状态,是否有修改
#显示文件状态
git status
#以精简的方式显示文件状态
git status -s

2.git add 把修改的文件添加到暂存区
# 添加xxx,yyy文件至暂存区
git add xxx,yyy
# 添加当前目录下所有更改过的文件至暂存区
git add .

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

4.git branch 对分支的增、删、查等操作
#显示本地分支,当前分支会被星号标示
git branch
#查看所有分支
git branch -a
#查看远程分支
git branch -r
#查看远程分支最后一次提交
git branch -rv
#查看本地所有分支的最后一次提交
git branch -v
#查看本地所有分支的最后一次提交,同时会显示对应的远程分支
git branch -vv
#创建名为xyz的分支(当你用这种方式创建分支的时候,分支是基于你的上一次提交建立的)
git branch xyz
#安全重命名分支xyz为abc
git branch -m xyz abc
#强制重命名分支xyz为abc
git branch -M xyz abc
#安全删除xyz分支
git branch -d xyz
#强制删除xyz分支
git branch -D xyz
#将本地名为xyz的分支发布到远程仓库(创建远程分支)
git push --set-upstream origin xyz
#删除远程分支
git push origin --delete xyz

5. git checkout
#切换到xyz分支.
git checkout xyz
#创建xyz并切换到xyz的分支.
git checkout -b xyz
#撤销对文件xyz 的修改
git checkout xyz
#新建xyz分支,并同步到develop最新代码
git checkout -b xyz origin/develop
#新建xyz分支,并同步到4a083615c这次提交后的代码(切换到4a083615c版本)
git checkout -b xyz 4a083615c

5.1 git reset
#将xyz.c从索引区移除(但会保留在工作区)
git reset HEAD xyz.c
#回退最近一次提交到工作区
git reset HEAD^
#回退最近n次提交到工作区
git reset HEAD^n
#强制还原未提交的本地文件
git reset --hard

6.
#从远程库develop分支把代码拉到本地仓库,不会进行merge
git fetch origin develop
#从远程库origin的develop分支上拉取代码到当前分支
git pull origin develop

#把远程库develop分支的改动合并到当前工作空间
7.git merge origin/develop

7.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分支)

7.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分支)

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

#本地提交转移至更新后的上游分支中,能产生一个整洁的提交历史
9.git rebase
git rebase origin/develop

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

#显示 commit 的列表
11.git log

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

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

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

15.
#同步远程新增或删除的分支
git fetch origin --prune
#删除没有git add的文件和目录
git clean -fd

16.git stash
#暂存当前修改
git stash
#查看所有暂存
git stash list
#弹出stash@{0}暂存,该暂存会被丢弃
git stash pop stash@{0}
#应用stash@{0}暂存,该暂存不会被丢弃
git stash apply stash@{0}

17.
git clone <版本库的网址>
git clone https://gitee.com/liuss_195/LotteryGod.git
git clone <版本库的网址> <本地目录名>
git clone https://gitee.com/liuss_195/LotteryGod.git LiussWork

18.git删除分支
#git 删除本地分支
git branch -D br
git 删除远程分支
git push origin :br

19.git代码库回滚
指的是将代码库某分支退回到以前的某个commit id

#本地代码库回滚
git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除
git reset --hard HEAD~3:将最近3次的提交回滚

#远程代码库回滚
应用场景:自动部署系统发布后发现问题,需要回滚到某一个commit,再重新发布
原理:先将本地分支退回到某个commit,删除远程分支,再重新push本地分支
操作步骤:
1、git checkout the_branch
2、git pull
3、git branch the_branch_backup //备份一下这个分支当前的情况
4、git reset --hard the_commit_id //把the_branch本地回滚到the_commit_id
5、git push origin :the_branch //删除远程 the_branch
6、git push origin the_branch //用回滚后的本地分支重新建立远程分支
7、git push origin :the_branch_backup //如果前面都成功了,删除这个备份分支


对比git pull和git pull --rebase
1、使用下面的关系区别这两个操作:
git pull = git fetch + git merge
git pull --rebase = git fetch + git rebase

mkdir shipook-tts-tool
cd shipook-tts-tool
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin git@code.aliyun.com:nw_0033/shipook-tts-tool.git
git push -u origin develop


.gitignore文件已经提交,如何更新.gitignore ? 执行以下git命令
git rm -r --cached .
git add .
git commit -m "提交日志"

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值