Git 常用命令整理

Git 命令使用整理

1。git init
2. git add
3. git commit
4. git status
5. git diff 查看没有暂存的文件(git diff --cached查看已暂存的文件)
6. git log
7. git checkout (撤销未提交的修改,没add时的文件)
   若已add,则先取消添加再撤销
8. git reset HEAD <file> (取消添加)
   git checkout <file> (撤销修改)
9. git reset --hard HEAD^ (回退到上一个版本)
   git reset --hard HEAD^^(回退到上上一个版本)
10. git reflog (查看之前操作记录,找到要恢复的版本)
    git reset --hard ad2080c 

Git中从远程的分支获取最新的版本到本地:

  1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge

git fetch origin master git log -p master…origin/master git merge
origin/master
以上命令的含义: 首先从远程的origin的master主分支下载最新的版本到origin/master分支上 然后比较本地的master分支和origin/master分支的差别 最后进行合并


git没有changId解决方法:

1、git branch work(从最新节点建立分支,相当于将自己的修改备份到新的分支)
2、git reset --hard HEAD~10(强制回滚多个节点)
3、git status 
	如果显示nothing to commit, working directory clean,跳到5.
	如果显示has x commit,xx git push 跳到2.
4、git clean -df
5、git pull(使得当前分支和线上统一)
6、git merge --squash work(将最开始建立的分支中的内容合并回来)
7、git commit
8、git push

问题记录:

1. 无change ID

第一步:scp -P 29418 -p wang.mingbo@gt.moretv.cn:/hooks/commit-msg .git/hooks/
第二步:git commit --amend
第三步:git log -1
第四步:git push origin HEAD:refs/for/branches


2.提交有冲突解决方案:

1. git fetch origin(取回该分支更新)
2. git stash(保存当前的工作现场)
3. git pull --rebase
4. git status (显示冲突文件both modified)
5. vi AndroidManifest.xml (编辑冲突文件)
6. git add AndroidManifest.xml(add编辑好的文件)
7. git rebase --continue(解决好冲突后执行)
8. git push origin HEAD:refs/for/branches(提交)

3.从master分支切换到dev分支

  1. git stash (保存当前分支上的修改,如果不暂存,可以通过命令git checkout – 恢复为服务器上一致)
  1. git checkout -b dev origin/dev(创建本地dev并切换分支,对应服务器origin/dev分支)
  2. 切回master分支时,可以用git stash pop 恢复本地修改
  3. 本地已有该分支,切换方法 git checkout master(分支名称)

4.提交无changeID,但git log 中显示有changeID

原因:
修改过文件后,git pull ,自动merge云端与本地
1. 切换到新建分支 git checkout -b bugfix
2. git reset --soft HEAD^
3. git reset --soft HEAD^2
4. git pull --no-commit origin branches
5. git commit -m ""
6. git push origin HEAD:refs/for/branches
7.删除新分支 git branch -D bugfix


5.撤销上一次提交(可能因为多提交了.classpath文件)

1. git reset --soft HEAD~ 移动HEAD
2. git log  再查看log,发现刚才的提交 commit_id已经没有了
3. git status  查看文件状态
4. git reset HEAD .classpath 撤销对.classpath的修改
5. git commit --amend 再次提交即可

6.撤销已经push到服务器的1次提交

git reset --soft head~ // 撤销提交
git push --force // 推送到服务器

  1. 已提交到BBT的代码,冲突解决
 1. 首先执行 git reset --soft head~ // 撤销提交(可执行多次,直到git status能看到自己的代码改动)
 2. 执行 git push --force // 推送到服务器 
 3. 更新自己的代码库,可以手动更新 
 4. 执行 git reset 重置自己的修改 
 5. 执行 git stash save 缓存自己的修改 
 6. 执行 git pull 拉最新的代码 
 7. 执行 git stash pop ,处理冲突 
 8. 重新提交git commit,git push
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值