GIT新手快速入门

基础用法

git log 查看当前分支提交记录

git status 查看当前状态,修改了哪些,缓存了哪些

git branch 查看本地分支和当前处于什么分支

    -a 所有分支

    -r 所有远端分支

    -vv 查看本地和远程分支的对应

git checkout 切换到本地的分支 

    -b xxx remotes/origin/xxx 切换到远端的分支

    -b xxx 基于本分支新建分支

git branch -d xxx 删除本地分支

git push origin :xxx 删除远端分支(推送一个空分支到远程分支)

git clone -b xxx 下载指定远程分支

git push origin xxx:xxx,推送本地xxx到远端xxx,远端没有则新建分支,但没有建立联系。

Git创建远程分支并建立联系

假设当前分支为master,需要创建的分支是my-test

git checkout -b my-test  //在当前分支下创建my-test的本地分支分支

git push origin my-test:mytest  //将my-test分支推送到远程(主要使用了它的一个特性:远程没有就会创建新的)

git branch --set-upstream-to=origin/my-test  my-test//将本地分支my-test关联到远程分支my-test上(上一句只创建而未关联)

git branch -a //查看远程分支

git branch -vv 查看本地和远程的关联

pull vs fetch

pull是fetch+merge,fetch只取回别人在远端做的更改,而并不做合并操作,实际中,大多还是使用pull,在commit 以后。
 

上面这几句不仅创建了本地也创建了远程,两个都是最新的,但在实际使用中,应该让本地分支追踪大家一起用的分支,这样你的代码可以在其他人MERGE后进行git pull来获取最新(可能要先commit 自己的修改),待到你修改完成后,使用冒号提交到新的分支,然后请求合并。

reset

代码有四种状态:修改前、修改后、add后、commit后.

可以使用reset和checkout来切换状态,吃个后悔药。

修改后到修改前:git checkout xxx 撤销谋文件或者git checkout  .撤销全部

add后到修改后:git reset HEAD

commit后到add后:git reset --soft HEAD~x (x为一个数字,说明撤销到多久前)

commit后到修改后:git reset --mixed HEAD~x

commit后到修改前:git reset --hard HEAD~x

diff & apply

显示所作的修改,并可以输出为一个patch,之后再使用apply进行恢复,如果要给别人用或者不想stash全部而保留一部分修改则可以用这种办法。

tag

tag是一个点,branch是一条由点组成的线,tag上只能看,不能做修改,branch是我们要操作的。

待理解的:merge rebase

开发流程

1.一个干净的最新的开发分支(status, log,pull)

2.改代码成功,包含需求代码和实验日志代码

3.基于开发分支新建分支,删去log,只保留需要提交的代码,git stash 、git pull、git stash pop

4.提远程并提MR

5.根据comment在开发分支上修改

6、合入后恢复最干净的分支,删去本地和远程无用分支

如果分支太老,且没有多少修改,直接reset,然后pull

如果有挺多修改,可以先stash,然后rebase,pull.stashpop

你可能感兴趣的:(GIT新手快速入门)