Git常用命令
- 前阵子在字节跳动广告创意中心实习的时候,发现自己对Git不是很精通。因此写下这篇博客,作为一份备忘录,记录本人经常使用的Git命令操作。
- git config
- 解决Github 每次上传都要输入用户名和密码
- git branch
- git branch 查看所有本地分支
- git branch -r 查看所有远程分支
- git branch -a 查看本地分支+远程分支
- git branch xx 创建新分支
- git branch -d xx 删除分支
- git branch -v 查看各个分支最后一个提交信息
- git branch --set-upstream branch-name origin/branch-name 将branch-name分支追踪远程分支origin/branch-name
- git branch -u origin/xxx 设置当前分支跟踪远程分支origin/xxx
- git branch -vv 查看本地分支和远程分支的跟踪关系
- git remote
- git push
- git push <远程主机名> <本地分支名> :<远程分支名> 将本地版本库的分支推送到远程服务器上对应的分支
- git push origin master:refs/for/master 将本地的master分支推送到远程主机origin上的对应master分支
- git push origin master 远程分支被省略,则表示将本地分支推送到与之存在追踪关系的远程分支(如果未关联,则是同名分支)
- git push --force origin master 一般使用git push的时候,本地需要先与远端保持一致,使用--force可以强制推送(我一般用于 git commit --amend 之后)
- git checkout
- git checkout xx 切换分支
- git checkout -b dev(本地分支名) origin/dev(远程分支名)达到关联的效果
git rm --cached
尽量用git fetch 和 git merge 代替git pull
git fetch origin master
git merge origin/master
git reset
方法1:leader 将你提交的所有代码 abandon掉,然后你回去 通过git reset …将代码回退到你代码提交之前的版本,然后你修改出问题的Java文件,然后 git add xx.java xxx.java -s -m “Porject : 1.修改bug…”
最后通过 git push origin HEAD:refs/for/branches
方法2:
leader不abandon代码,你回去之后,修改出问题的Java文件,修改好之后,git add 该出问题.java
然后 git commit amend –no-edit,
最后 git push origin HEAD:refs/for/branches。
当我们想要对上一次的提交进行修改时,我们可以使用git commit –amend命令。git commit –amend既可以对上次提交的内容进行修改,也可以修改提交说明。
git commit –amend –no-edit
git push --force origin zxsong
git push origin master (origin是远程,master是本地)
git rebase
切换到主分支
git merge dev-by-wbw
git push origin dev-by-wgg
t reset
git reset -- . # 从暂存区恢复到工作文件
git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改
git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建了一次提交对象
git revert HEAD # 恢复最后一次提交的状态
git diff
git diff
git diff <\(id1> <\)id2> # 比较两次提交之间的差异
git diff
git diff --staged # 比较暂存区和版本库差异
git diff --cached # 比较暂存区和版本库差异
git diff --stat # 仅仅比较统计信息
git log
git log
git log -p
git log -p -2 # 查看最近两次详细修改内容的diff
git log --stat #查看提交统计信息