Git整理与秘技
Git上传过程:
- Workspace(工作区)通过add到Index(暂存区);
- 再将文件commit到Repository(仓库)中;
- 再将文件push到Remote(远端)。
Git下载过程:共有两种方法
- 从Remote中fetch/clone到Repository中,再将文件checkout到Workspce。
- 当然也可以直接从Remote端pull到Workspace。
实用Git命令:
- 在相应项目的相应分支下,新建一个”develop”分支,并且让该分支和远程的”origin/develop”分支产生联系,前提是远程有”origin/develop”这个分支:
git checkout -b develop origin/develop
; - 在某个项目的相应分支下删除一个”feature/order_detail”分支:
git branch -d feature/order_detail
; - 切换到”feature/accepted_coupons”分支上:
git checkout feature/accepted_coupons
;
- 在相应项目的相应分支下,新建一个”develop”分支,并且让该分支和远程的”origin/develop”分支产生联系,前提是远程有”origin/develop”这个分支:
实用Git上传过程:
git add -A
:将某项目的某分支上的所有文件add到Index;git status
:查看某项目的某分支上的文件是否都add到Index;git commit -a -m "add accepted_coupons components"
:提交Workspace中自上次commit之后的变化代码直接到Repository或者是从Index提交代码到Repository,并提交commit提示信息。git push --set-upstream origin feature/accepted_coupons
:将本地Repository的”feature/accepted_coupons”分支中的内容提交到Remote远端。
push冲突问题:
- 如果同一个分支远端的push进度和当前本地的push进度不同,即别人已经在此分支上提交了代码,你还要往该分支提交的时候,push会失败。这时候,执行
git pull --rebase
,Git会帮你把本地的进度理顺。理顺之后,再执行git push
,就能提交了。 - 如果这时候发生两次版本的提交,在某一些代码上有冲突的时候,Git会显示两次版本的冲突点,并显示push失败。这时候,人为的去解决冲突后,再执行
git rebase --continue
,Git会认为你已经解决了冲突。再提交时,就能push上去了。
- 如果同一个分支远端的push进度和当前本地的push进度不同,即别人已经在此分支上提交了代码,你还要往该分支提交的时候,push会失败。这时候,执行
重置当前分支的最新一个版本为指定commit**(至少6位版本号以上)**,同时重置暂存区和工作区,与指定commit一致:
git reset --hard 0ee042ec97
删除分支:
git branch -d feature/accepted_coupons
:删除本地的当前项目中的”feature/accepted_coupons”分支。git push origin --delete feature/accepted_coupons
orgit branch -dr [remote/branch]
:删除当前项目中远程的”feature/accepted_coupons”分支,目前只会第一种删远程分支。
git cherry-pick 0ee042ec97
:选择一个commit**(至少6位版本号以上)**,合并到当前项目的当前分支。git pull origin/develop develop
:将远程的最新代码直接更新到”develop”分支上,每次开发新功能之前或者合并新功能之前,都要执行。实际上如果现在处在”develop”分支中,那可以直接执行git pull
。“Gitflow”工作流程:详情请狠狠点击这里。
想要了解更多“Git”流程,请戳这里。