Git指令

status:

git stauts
解释:
红色的文件代表改动了,但是没加到暂存区(用指令commit时,未加进暂存区的文件不会被提交)
绿色的文件代表改动了,已经加进了暂存区(用指令commit时,加进暂存区的文件会被提交)

commit:

分开写提交内容
git commit
一行里面写提交内容
git commit -m "提交内容"

add:

添加单个改动的文件到暂存区
git add README.md
添加所有改动的文件到暂存区
git add .
注意:
添加单个文件时,要注意路径和文件大小写以及后缀名都要正确

clone:

git clone XXX

log:

git log

merge:

git merge XXX(分支)

merge 冲突 :

解决冲突后用 git merge --continue 来继续⾃动合并流程

push:

git push origin XXX(分支)

pull: 

git pull origin XXX(分支)

checkout:

移动 HEAD,让它指向某个 commit 或某个 branch
git checkout XXX(分支/commit)
让 HEAD 脱离当前 branch,直接指向下⾯的commit
git checkout --detach

rebase:

把当前 commit(以及它之前的 commits)应⽤到指定的需要 rebase 的 commit上。
git rebase XXX(分支)
注意:
Git 中的每⼀个 commit 都是不会改变的,所以 rebase 之后的每个 commit 都是新产⽣的,⽽不是对原先的 commit 进⾏「修改」
解释:
把指定区间的commit(需要rebase之后的commit为开始,当前commit为结束)全部拷贝一份,移动到需要rebase的commit的后面,并且HEAD也指向在移动之后的最后一个commit上

rebase 冲突:

rebase 的冲突解决⽅法和 merge 冲突⼀样,只是把 git merge --continue
改成 git rebase --continue 就⾏了

reset:

把当前 branch 指向指定的 commit。
移动到指定 commit,并保留工作树的内容
git reset 指定commit
移动到指定 commit,并重置工作树的内容
git reset --hard 指定commit
注意:
如果指向的commit是分支,则自动指向到该分支所指向的commit
reset 和 checkout 的区别:
它们都是移动 HEAD,但 chekcout 移动的时候是⾃⼰移动,不带着 branch ⼀起;
⽽ reset 会带着 branch ⼀起移动。

修改已经提交的内容:

方法一:
在修改好本地代码以后执行 git commit --amend
注意:
此指令只能修改最新的commit内容,并且只能修改本地提交(未push)的提交内容;
「修改」只是概念⾏为,实质上会产⽣⼀个新的commit。

方法二:
git rebase -i 指定commit 

 

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页