不到断气不罢休 发表于 2025-3-16 13:17:17

git利用指南

git利用指南

   工作中常用的 Git 下令,这些基本够用了。能够记住下令的话可以使你的工作服从提高一大截,当然利用可视化的代码编译工具操作也可。管他操作是否高大上,得当你的才是最好的!
1. 克隆长途堆栈的代码到当地

git clone git@xxx.git
拉取下来默认分支名为 master。
2. 拉取最新代码更新到当地



[*]如果当地代码库没有任何修改,直接利用:
git pull


[*]如果当地代码有修改,但没有提交或暂存,git pull
时会报错,提醒你有未提交/暂存的修改。此时,你需要根据需求:

[*]利用 git stash 将修改的内容暂存起来;
[*]或者将修改提交:

git commit -m “解释内容”
```
解释内容主要用来描述本次修改内容。
3. 创建当地分支

利用以下下令创建分支:
git checkout -b 分支名


[*]如果分支名不存在,则会创建一个新的分支并切换到新建分支;
[*]如果分支名存在,则会直接切换到该分支。
4. 在当地分支上进行修改操作,并提交

如果我们在当地名为 master 的分支上进行了修改:

[*]利用 git add . 将当前修改添加,也可以利用 git add 目标文件名 添加指定文件;
[*]利用 git status 检察当前状态;
[*]如果有某些文件在 .gitignore 文件里面被忽略了不让 add,可以利用:
git add -f 目标文件名
进行强制添加;
4. add 完之后,利用:
git commit -m "注释内容"
提交;
5. 提交后,利用:
git log
检察刚刚的提交记录,包括提交时写的解释内容;
6. 如果你做了不止一次修改,不想每次都重新用新的解释内容进行提交,不想要每次都天生一个新的 commit 节点,可以利用:
git commit --amend

将第二次提交联合上一次的提交内容合成一个 commit 节点;
7. 末了,将提交的修改 push 到远端分支上,利用:
it push 远端节点
如果想提交到远端的 master 分支上,利用:
git push origin master
进行不覆盖式的提交。如果想用当地的代码完全覆盖掉远端的分支,利用:
git push -f origin master
强制提交。
5. 删除远端分支



[*]删除远端分支:
git push origin --delete 远端分支名


[*]删除当地分支:
git branch -d 本地分支名
或者利用强制删除:
git branch -D 本地分支名
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 有两个选择:


[*]如果利用:
git pull
origin master
拉取代码,利用 `git log
` 检察提交记录,此时可以看到有一个 commit 节点叫 `Merge xxxxxxxxxx…`,如许会形成一个菱形的提交记录;- 如果利用:```bashgit pull
-r origin master 可以避免这种菱形提交,会将 B 的提交 rebase 到最新 master 节点上,此时可能会遇到的题目是,如果 B 的提交和 A 的提交有交集的地方,会引起冲突。如果这种环境,会提示你先办理冲突 conflict,需要 B 去比较与 A 的提交冲突的地方,办理完冲突之后,add 更新下 B 的修改后,执行:
git rebase --continue

就可以继续 pull -r 的过程;过程中如果觉得有任何操作失误,可以利用:
git rebase --abort
随时停止 pull rebase 的过程,并且分支会回到 rebase 开始前的状态。
7. 将分支 A 的修改提交到分支 B

偶然候我们可能需要将分支 A 上做的一些修改直接提交到分支 B 上,先切换到分支 B,提前 git log
看下分支 A 上需要的节点号是多少,利用:
git cherry-pick commit节点号
就可以将在 A 上做的某些改动直接 pick 到 B 上。
8. 修改某次的 commit 内容

有些时候很多个提交节点后,发现某个节点上的修改有题目,希望回退到某个节点进行修改,此时可以利用:
git rebase -i commit节点号
回退到你希望修改的节点的前一个节点处,就可以看到你需要修改的节点。将该节点前的 pick 改成 edit 后生存退出,然后你就可以在这个节点继续进行修改。修改竣事后利用:
git commit --amend

进行提交,这个操作会将你当前修改合并到这个 commit 节点之前的修改中,提交后利用:
git rebase --continue

我们就可以成功回到最新的修改节点。
9. 还有一些比较暴力但是很好用的下令



[*] git reset --hard commit节点号
这个下令很暴力,但是很快,当你搞不清那些节点的时候,不知道本身提交了什么,想要恢复到你想归去的某次提交的时候可以利用,先用 git log
检察一下之前 commit 的节点,找到你想退回到的某个 commit id,复制下来。
比如这里我想退回到最初的 origin/master,其 commit 节点号是 d9ab27dc42c753b9a1bb2163221b73f63bd490af,那么我可以利用:
git reset --hard d9ab27dc42c753b9a1bb2163221b73f63bd490af
回到这个节点。
[*] 偶然候会用到:

git push -u origin 分支名
- 使用 `git squash` 将多个 commit 节点进行合并;
- 本地创建分支:
```bash
git checkout -b 分支名

并推至远端分支(不存在):
git push --set-upstream origin 分支名
推送当地分支至远端,并创建长途分支。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: git利用指南