微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Git常用命令

Git常用命令

  • 前阵子在字节跳动广告创意中心实习的时候,发现自己对Git不是很精通。因此写下这篇博客,作为一份备忘录,记录本人经常使用的Git命令操作。
  • git config
    • git config --global user.name "xx"
    • git config --global user.email "xxx@example.com"
    • git config -l 查看配置信息
  • 解决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 添加心的远程仓库,删除点现在的
    • git remote -v 列出远程仓库的详细信息
    • git remote rm origin 删除远程仓库
    • git remote add origin(可修改) git@github.com:xxx/xxx.git 将本地仓库与远程仓库建立连接
    • git remote set-head origin branch_name 切换HEAD分支
  • 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 # 查看每次详细修改内容的diff
git log -p -2 # 查看最近两次详细修改内容的diff
git log --stat #查看提交统计信息

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐