最常用的Git命令

版本管理,多人协作

  • 查看远程库信息
git remote
git reomte -v //显示更详细的信息
  • 删除本地的远程库
git remote rm origin
  • 推送分支
git push origin <branchname>
  • 抓取远程分支的新提交
git pull
  • 关联本地分支和远程分支
git branch --set-upstream branch-name origin/branch-name 
//远程分支和本地的名称最好一样

版本回退

  • 查看提交log

git log

可以用--pretty=oneline 参数来格式化

  • 回退到上一个版本,HEAD代表上一个版本,如果是上100个话就是HEAD~100

git reset --hard HEAD^

  • 回到指定的某个版本

git reset --hard <版本号>

  • 显示每一次命令,可以用来找到版本号,从而回到任意一个版本

git reflog

撤销修改

  • 把filename文件的修改撤销,就是让这个文件回到最近一次git commitgit add时的状态

git checkout --

  • 撤销暂存区的修改,重新放回工作区

git reset HEAD

删除文件

  • 从版本库中删除文件
git rm <filename> //从暂存区删除
git commit -m "remove filename"
  • 删错了,从版本库中把文件恢复到最新版本
git checkout HEAD -- <filename>
或
git checkout HEAD <filename>

远程仓库

  • 关联远程仓库
git remote add origin git@server-name:username/repo-name.git
  • 将本地库推送到远程库,
git push -u origin master//第一次推送
//由于远程库是空的,我们第一次推送master分支时,
//加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,
//还会把本地的master分支和远程的master分支关联起来,
//在以后的推送或者拉取时就可以简化命令

git push origin master //推送
  • 克隆远程仓库
git clone git@server-name:username/repo-name.git

git clone url-address

分支管理

  • 创建新分支
git checkout -b <branchname>//加上 -b 参数代表创建并切换
//相当于下列两条命令
git branch <branchname>
git checkout <branchname>
  • 查看当前分支
git branch
//git branch 命令会列出所有分支,当前分支前面会打*号

git branch -a //查看所有分支
  • 合并分支
git merge >//用于合并指定分支到当前分支
  • 删除分支
git branch -d 
  • 查看分支合并情况(分支合并图)
git log --graph //使用此命令查看合并图

//示例
git log --graph --pretty=oneline --abbrev-commit
//结果示例如下
*   59bc1cb conflict fixed
|\
| * 75a857c AND simple
* | 400b400 & simple
|/
* fec145a branch test
...
  • 使用 –no-ff 参数禁用 Fast forward
git merge --no-ff -m "merge with no-ff" 
//因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去
  • bug分支,隐藏工作区间
git stash //把当前工作区间隐藏

git stash list //查看stash列表

git stash apply 0}> //恢复stash,但stash并不删除,可通过git stash drop 删除

git stash drop //删除stash

git stash pop //恢复stash并删除stash
  • 强行删除为合并分支
git branch -D <branchname> //不要轻易使用

远程分支

  • 新建远程分支
git push origin branch-name:branch-name 
//将本地分支推送给远程,一般远程分支和本地分支名称一样
  • 删除远程分支
//推送一个空分支给远程,相当于删除
git push origin :branch-name 

//删除远程分支
git push origin --delete branch-name

标签管理

  • 创建和查看标签
git tag //查看所有标签

git tag <tag-name> //打一个新标签,默认是HEAD

git tag <tag-name> <commit-id> //为指定的commit-id打标签

git show <tag-name> // 查看标签信息
  • 操作标签
git tag -d <tag-name> //删除标签

git push origin <tag-name> //推送标签到远程

git push origin --tags //推送所有标签到远程
  • 删除远程标签
git tag -d  //需要先删除本地标签

git push origin :refs/tags/tag-name //然后把标签推送到远程

参考文章

  • 廖雪峰的官网

你可能感兴趣的:(SVN/Git,项目管理)