git常见的操作

249 阅读2分钟

1.介绍一下git

一般多人协作的项目都有一个remote公共仓库,一个origin私人仓库,一个本地仓库。
下图是个人根据公司中git的使用,总结三个库与本地代码的关系图。

  • 一般公司中的git协作都是有一个公共仓库,所有协作者fork一份到自己的私人仓库;然后git clone私人仓库的代码到本地仓库,后同步到idea中。
  • 改动之后,可选择改动的文件git add到stage暂存区,若添加错了,可git reset;若没问题,下一步是git commit -m到本地仓库中,然后在git push到私人仓库中。
  • 最后一步是merge到公共仓库,一般公司都需要用自己的分支而不能用master分支进行push或者merge操作,因为多人协作的情况下,如果大家都用master就乱了;推荐按功能模块创建不同的分支名。

2.git中常见的情况

1.初次clone私人仓库后,需pull远程公共仓库

git branch -a
git fetch --all
git remote -v
git remote add us XXX.git
git remote -v 查看本地分支的所有远程仓库
git branch -a
git pull us master

2.代码修改之后Git提交

git status
git add XXX1 XXX2
git status
git commit -m "commit msg"
git push -u origin mastername 最好指定分支
then take a merge request to remote us

3.本地代码不想提交,但是要拉去远程公共仓库最新代码

git status
git stash list
git stash save "save msg" 缓存于堆栈
git status
git checkout master
git pull us master
git checkout branch1
git rebase master 将自己的commit放在master的commit后
git push origin XXX push到私人仓库的XXX分支
git stash pop 改动的stash pop回来;

3.已经push到私人仓库两次,如何撤回push

add到stage后撤回:
git add xxx xxx 若想撤回
git reset HEAD xxx xxx
git status

commit到仓库之后撤回:
git commit -m "commit msg"
git reset --soft HEAD^
若commit2次或多次
git reset --soft HEAD~2

push到私人仓库撤回:
git reset HEAD~2
git status
git push 会报错
git push origin qcs_bucket --force
git status

4.常见的git

git checkout -b newBranchName
git status
git log
git diff
git stash list
git stash pop
git config --global --edit 修改配置文件 hostname等;

3.总结

git 的使用大部分需要自己真正碰到这样的问题,去解决了然后作总结,可能会更深刻吧,反正以前就开始用的,但是因为不涉及团队协作,每次commit都是整个项目一起push,然后每次都需要解决冲突,就算对了,也不知道为什么是对的。