git常用命令

143 阅读3分钟

创建本地分支 git branch 分支名

创建分支并切换到该分支 git checkout 分支名

本地分支关联远程分支 git push --set-upstream origin 分支名

删除本地分支 git branch -d 分支名

删除远程分支 git push origin --delete 分支名 切换到远程分支 git checkout -b 本地分支名 origin/远程分支名

克隆指定分支代码 git clone -b 分支名 地址

工作流 git add

git add ./添加所有文件

git add 文件名 添加指定文件名

将工作区文件放到暂存区

git commit

将暂存区文件放到本地仓库

git push

将本地仓库文件推到远程仓库

创建mr

git stash

将暂存区和工作区文件保存,切换分支后,修改内容不会带到其他分支

也可以用和解决文件冲突

git stash list :查看stash了哪些存储

git stash show 查看第一个存储修改内容

git stash apply stash@{1} 应用第几个存储

git stash pop stash@{$1} 应用并删除第几个存储

git stash drop stash@{$1} 删除第几个存储

合并代码 切换到目标合并分支branch1 git checkout branch1 保险起见先拉一下branch1上的代码 git pull origin branch1 将需要被合并的分支branch2合入到目标分支branch1 git merge branch2 推到远程 git push

撤销上一次commit 没有push git reset --hard <commit_id> 回退到当前版本,当前版本所有的内容都会被取消,需要git push -f强推上去 已经push git revert <commmit_id> 取消一个版本内容,生成一个新的版本 git commit ,git push

撤销add git status 先看一下add 中的文件 git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了 git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销

强制将远程上代码覆盖本地: git fetch --all

	git reset --hard origin/master   删除工作空间改动代码
	git reset --soft origin/master   不删除工作空间改动代码

	git pull
	
	
	

冲突解决 报错cannot do a partial commit during a merge. 撤销冲突文件修改,再commit(备份修改,防止丢失修改文件) 拉代码,修改冲突文件,再commit

查看提交日志

git log 查看所有提交日志
git log -p 或 --patch 查看所有提交日志并查看详细修改内容
git log --stat 查看总结性信息 
git log -p filename   查看单个文件的提交记录
    
    

gerrit环境提交代码方法1:(如果不合并多个提交,会保留所有提交记录)

  1. 一般情况下,我们从主分支拉分支进行开发代码。
    
  2. 代码开发完成(可以合并多次提交git reabase -i),
    
  3. 再拉主分支代码(git pull origin master --rebase
  4. 如果有冲突,解决冲突后(git add . git commit),推送到远程仓库(git push),此处可能会出现,无法push到远程仓库,需要手动删除远程仓库分支,重新推上去。
    

gerrit环境提交代码方法2:(该方法会导致最终只有一个提交记录)

  1. 一般情况下,我们从主分支拉分支进行开发代码。
    
  2. 回退到自己提交刚开始拉去分支的节点(git reset --soft  不要--hard,否则代码就没有了)。
    
  3. 保存自己修改的代码(git stash)
    
  4. 再拉主分支代码(git pull origin master --rebase
  5. 弹出保存的代码(git pop),解决冲突。
    
  6. 解决冲突后(git add . git commit),推送到远程仓库(git push),此处可能会出现,无法push到远程仓库,需要手动删除远程仓库分支,重新推上去。