Git command review

  个人主要用途: (页首)

主要的用途就是:实现写的代码的备份,能进行远程存控。

 

git安装后的初始化 (页首)

$ git config --global user.name "Your Name"

$ git config --global user.email "email@example.com"

 

创建版本库 (页首)

$ mkdir learngit

$ cd learngit

$ pwd(查看当前目录)

$ git init

 

提交文件 (页首)

$ git add readme.txt(可添加多个文件,放到暂存区)

$ git commit -m "wrote a readme file"(提交至版本库)

 

辅助命令 (页首)

$ git status (工作区的状态、文件是否被修改过,查看冲突)

$  git diff(查看修改内容)

$ git log(查看提交的历史记录)

$ git log --pretty=oneline(一行展示记录)

$ cat readme.txt(查看文本内容)

$ git remote(查看远程库信息)

$ git remote -v(查看远程库详细信息)

$ git log -1(最后一次的提交信息)

$ git remote remove origin(删除remote origin

$ get-history(获取键入的命令列表)

 

版本回退 (页首)

$ git reset --hard HEAD^(退回上一个版本)

$ git reset --hard HEAD~100(退回上100个版本)

$ git reflog(查看命令历史,以便确定要回到未来的哪个版本)

$ git reset --hard 1094a(使用commit id版本跳转)

 

撤销修改 (页首)

$ git checkout -- readme.txt(直接丢弃工作区的修改)

$ git reset HEAD readme.txt(把暂存区的修改撤销掉,重新放回工作区)

 

删除文件 (页首)

$ git rm test.txt(删除文件)

 

远程仓库 (页首)

push (页首)

$ git remote add origin git@github.com:haha/learngit.git(关联远程库较快)

$ git remote add origin https://github.com/tuohan/learngit.git(关联较慢)

$ git push -u origin master(第一次 -u 推送并将本地和远程master分支关联)

$ git push origin master(再次提交)

clone (页首)

$ git clone git@github.com:haha/gitskills.git(克隆较快)

$ git clone https://github.com/tuohan/gitskills.git(克隆较慢)

 

分支管理 (页首)

$ git branch(查看分支)

$ git branch branch_name(创建分支)

$ git checkout branch_name(切换分支)

$ git switch branch_name(切换分支)

$ git checkout -b branch_name(创建+切换分支)

$ git switch -c branch_name(创建+切换分支)

$ git merge branch_name(合并某分支到当前分支 Fast forward 模式

$ git merge --no-ff -m "merge with no-ff" dev(带commit 信息模式)

$ git branch -d branch_name(删除分支)

$ git branch -D feature-vulcan(强行删除分支)

$ git log --graph --pretty=oneline --abbrev-commit(分支合并图)

$ git stash(把当前工作现场“储藏”起来)

$ git stash list(查看暂存的工作现场)

$ git stash pop(返回现场并删除暂存现场)

$ git stash apply stash@{0}(按照stash返回现场不删除暂存现场)

$ git stash dropstash@{0}(单独删除暂存现场)

 

标签管理 (页首)

$ git tag v0.9 f52c633(给commit id打标签)

$ git tag(查看标签list

$ git show v0.9(查看标签信息)

$ git push origin <tagname>(推送一个本地标签)

$ git push origin --tags(推送全部未推送过的本地标签)

$ git tag -d v0.1(删除本地的标签)

$ git push origin :refs/tags/v0.9(删除远程标签)

 

配置命令别名 (页首)

$ git config --global alias.st status(git status->git st)(对当前用户都有效)

$ git config --global alias.last 'log -1'(最后一次提交信息)

$ git config --global alias.co checkout

$ git config --global alias.ci commit

$ git config --global alias.br branch

$ gitconfig --global alias.brgraph 'log --graph --pretty=oneline --abbrev-commit'git brgraph分支合并图简化版简化的命令里面不允许有特殊字符,最好全是小写的英文)

$ cat .git/config(手动删除命令)

 

原则 (页首)

master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活

使用分支来进行debug和开发 new feature 完成后在与主分支合并

master分支是主分支,因此要时刻与远程同步;

dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;

bug分支只用于在本地修复bug,就没必要推到远程了;

feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。

总之,就是在Git中,分支完全可以在本地自己藏着玩,是否推送,视自己的心情而定

 

 

 

 

 

 

posted @ 2020-06-10 15:53  MFQin  阅读(129)  评论(0)    收藏  举报