git 常见命令和资源

git练习

常用git清单

强制切换分支所指位置

git branch -f main c3强制分支main指向c3

git branch -f main HEAD~3强制分支main指向head的父节点再往前3个

git checkout c3将HEAD指向c3

reset 和 revert

比如现在我们远程分支和本地分支的版本一样,现在本地进行reset,但是远程是感知不到的。这时用revert进行回退,然后再push到远程分支上。

rebase 和 merge

merge会创建一个新的节点来合并

rebase致力于一种『line』形式。如果不清楚,那就再去网站上练一练吧。

安装oh-my-zsh后,git简写

# 最常用,查看 git 项目红、绿状态用

git status  (gst)



# 查看本地分支

git branch (gb)



# 查看本地以及远端分支

git branch -a (gb -a)



# 删除本地分支

git branch -D xxx (gb -D xxx)







# 查看红色状态的改动点

git diff (gd)



# 将当前路径下的红色状态文件变成绿色状态

# 注意,做 ga 操作之前一定要先做 gd

git add . (ga .)



# 变成绿色之后,仍可对比查看改动点

git diff --cached (gd --cached)



# 正式提交到本地仓库,绿色状态提交到仓库

git commit -m "注释"  (gc -m "")



# add 和 commit 合并

git commit -a (gca)



# 查看提交日志,这个命令不带文件修改列表,建议用 glg

git log



# 查看提交日志,带文件修改列表

git log --stat (glg)





# 拉取远端分支(远端和本地分支必须同名 xxx)

git pull origin xxx (gl origin xxx)



# 推送本地分支到远端(远端和本地分支必须同名 xxx)

git push origin xxx (gp origin xxx)



# 推送同时 set-upstream 即关联本地和远端同名分支

# 关联之后 git push (gp) 或 git pull (gl) 即可不再需要后面的值

git push -u origin xxx (gp -u origin xxx)







# 打新分支,默认从当前所在的本地分支copy

git checkout -b mybranch (gco -b mybranch)



# 如果要指定从哪个分支copy 

# 后面的参数 origin/mybranch 表示从远端 mybranch 拷贝

git checkout -b mybranch origin/mybranch (gco -b mybranch origin/mybranch)



# 如果是从远端copy,更加建议使用 -t 参数

# 这样省略掉倒数第二个参数,同时本地分支和远端分支建立起了关联

# 这是另一种关联本地分支和远端分支的方法

git checkout -t origin/mybranch (gco -t origin/mybranch)



# set-upstream 也可以建立关联,一旦本地和远端同名分支建立起关联

# 后续的 push 和 pull 操作,不需要任何参数, gp 或 gl 即可



# merge 操作

# merge 可合并不同名分支到当前本地分支

# 以下指令将远端

git merge origin/master (gm origin/master)



# 一般用 git pull 可取代 git merge

# 注意空格和斜杠的区别,什么时候用空格?

# push pull 用空格,其它用 / 斜杠,比如 merge checkout

git pull origin master (gl origin master)



# 删除远端分支用 git push 推空内容到远端

git push origin :mybranch (gp origin :mybranch)





# 打本地标签,git tag 系列 oh-my-zsh 大多没有简写,需要的话自己添加

git tag -a 8.1.0 



# 删除本地标签

git tag -d 8.1.0



# 查看本地标签

git tag

git tag -v



# 推送本地标签推到远端,用到了 git push

# 这两种好像没区别,所以用简单的吧

git push origin --tags  (gp origin --tags)

git push --tags  (gp --tags)



# 将指定本地标签推到远端,这里不能省略 origin

git push origin 8.1.0 (gp origin 8.1.0)





# 将状态整体回滚到某次提交

# 不加 --hard 的话,回退的代码会以红色状态出现,gst 可查看

# 加了 --hard 则完全回退到 commitId 对应的状态,gst 查看没有红色文件

git reset commitId 

git reset commitId --hard



# 将某次提交记录撤销,但整体历史不回滚

# 注意体会 revert 和 reset 区别

git revert commitId





# 查看远端源信息(即远端)

git remote -v (grv)



# 添加新的源并命名

git remote add duitangOrigin ssh://git@git.duitang.net:7999/fe/dtw-audit.git



# 删除源

git remote remove duitangOrigin
上一篇:git入门


下一篇:xLua中Lua调用C#