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中,分支完全可以在本地自己藏着玩,是否推送,视自己的心情而定


浙公网安备 33010602011771号