git利用指南
工作中常用的 Git 下令,这些基本够用了。能够记住下令的话可以使你的工作服从提高一大截,当然利用可视化的代码编译工具操作也可。管他操作是否高大上,得当你的才是最好的!
1. 克隆长途堆栈的代码到当地
拉取下来默认分支名为 master。
2. 拉取最新代码更新到当地
- 如果当地代码有修改,但没有提交或暂存,git pull
时会报错,提醒你有未提交/暂存的修改。此时,你需要根据需求:
- 利用 git stash 将修改的内容暂存起来;
- 或者将修改提交:
- [/code]
- [/list]
- [/list] git commit -m “解释内容”
- ```
- 解释内容主要用来描述本次修改内容。
- [size=4]3. 创建当地分支[/size]
- 利用以下下令创建分支:
- [code]git checkout -b 分支名
复制代码
- 如果分支名不存在,则会创建一个新的分支并切换到新建分支;
- 如果分支名存在,则会直接切换到该分支。
4. 在当地分支上进行修改操作,并提交
如果我们在当地名为 master 的分支上进行了修改:
- 利用 git add . 将当前修改添加,也可以利用 git add 目标文件名 添加指定文件;
- 利用 git status 检察当前状态;
- 如果有某些文件在 .gitignore 文件里面被忽略了不让 add,可以利用:
进行强制添加;
4. add 完之后,利用:
提交;
5. 提交后,利用:
检察刚刚的提交记录,包括提交时写的解释内容;
6. 如果你做了不止一次修改,不想每次都重新用新的解释内容进行提交,不想要每次都天生一个新的 commit 节点,可以利用:
将第二次提交联合上一次的提交内容合成一个 commit 节点;
7. 末了,将提交的修改 push 到远端分支上,利用:
如果想提交到远端的 master 分支上,利用:
进行不覆盖式的提交。如果想用当地的代码完全覆盖掉远端的分支,利用:
- git push -f origin master
复制代码 强制提交。
5. 删除远端分支
- git push origin --delete 远端分支名
复制代码
或者利用强制删除:
6. git pull
和 git pull
-r 的区别
- git pull
= git fetch + git merge
- git pull
-r = git fetch + git rebase
假设有个场景,A 和 B 都需要 push 代码到 origin 的 master 上,A 和 B 拉取的代码后,新建了本身的分支进行修改,并要提交到 master 上;
此时 A 的修改内容先提交到 origin 上;
那么 B 在提交前需要拉取最新的代码(包含 A 的修改的代码 D),此时 B 有两个选择:
- 如果利用:
- [/code]
- [/list] git pull
- origin master
- [code]拉取代码,利用 `git log
- ` 检察提交记录,此时可以看到有一个 commit 节点叫 `Merge xxxxxxxxxx…`,如许会形成一个菱形的提交记录;- 如果利用:```bashgit pull
- -r origin master
复制代码 可以避免这种菱形提交,会将 B 的提交 rebase 到最新 master 节点上,此时可能会遇到的题目是,如果 B 的提交和 A 的提交有交集的地方,会引起冲突。如果这种环境,会提示你先办理冲突 conflict,需要 B 去比较与 A 的提交冲突的地方,办理完冲突之后,add 更新下 B 的修改后,执行:
就可以继续 pull -r 的过程;过程中如果觉得有任何操作失误,可以利用:
随时停止 pull rebase 的过程,并且分支会回到 rebase 开始前的状态。
7. 将分支 A 的修改提交到分支 B
偶然候我们可能需要将分支 A 上做的一些修改直接提交到分支 B 上,先切换到分支 B,提前 git log
看下分支 A 上需要的节点号是多少,利用:
- git cherry-pick commit节点号
复制代码 就可以将在 A 上做的某些改动直接 pick 到 B 上。
8. 修改某次的 commit 内容
有些时候很多个提交节点后,发现某个节点上的修改有题目,希望回退到某个节点进行修改,此时可以利用:
回退到你希望修改的节点的前一个节点处,就可以看到你需要修改的节点。将该节点前的 pick 改成 edit 后生存退出,然后你就可以在这个节点继续进行修改。修改竣事后利用:
进行提交,这个操作会将你当前修改合并到这个 commit 节点之前的修改中,提交后利用:
我们就可以成功回到最新的修改节点。
9. 还有一些比较暴力但是很好用的下令
- git reset --hard commit节点号
这个下令很暴力,但是很快,当你搞不清那些节点的时候,不知道本身提交了什么,想要恢复到你想归去的某次提交的时候可以利用,先用 git log
检察一下之前 commit 的节点,找到你想退回到的某个 commit id,复制下来。
比如这里我想退回到最初的 origin/master,其 commit 节点号是 d9ab27dc42c753b9a1bb2163221b73f63bd490af,那么我可以利用:
- git reset --hard d9ab27dc42c753b9a1bb2163221b73f63bd490af
复制代码 回到这个节点。
- 偶然候会用到:
- [/code]
- [/list] git push -u origin 分支名
- [code]- 使用 `git squash` 将多个 commit 节点进行合并;
- - 本地创建分支:
- ```bash
- git checkout -b 分支名
复制代码 并推至远端分支(不存在):
- git push --set-upstream origin 分支名
复制代码 推送当地分支至远端,并创建长途分支。
[code][/code]
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
|