码迷,mamicode.com
首页 > 其他好文 > 详细

git 常用命令

时间:2017-06-25 18:33:01      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:本地仓库   checkout   文件夹   head   git merge   size   目录   没有   let   

以下介绍一些 git 常用命令:

基本设置

git config --global user.name yourName  设置用户名

git config --global user.email your_email@youremail.com  设置邮箱

 

$ssh-keygen -t rsa -C "your_email@youremail.com"   生成 SSH 公钥

 

快捷键设置

git config --global alias.st status  设置常用快捷键

git config --global alias.co checkout

git config --global alias.cm commit

git config --global alias.br branch

 

提交代码基本流程

git add .  把工作区的所有变化(修改的及新增的文件,但不包含删除的文件)提交到暂存区

git commit -m "commit record"  输入提交记录

git push   如果 myBranch 是远程分支,push 到远端。如果不是,不需要这一步

git checkout dev  切回 dev 分支(默认 dev 为主分支)

git pull  更新 dev 最新代码

git checkout  [myBranch]  切回 myBranch 分支

git merge dev  把 dev 最新改动合并到 myBranch 

git checkout dev  切回 dev 分支

git pull  及时更新代码,以免别人也往 dev 提交代码

git merge  [myBranch]  把 myBranch 修改的文件 合并到 dev 分支

git push   把合并的代码推送到远端  

git checkout  [myBranch]  切回自己的分支继续开发

 

git add -u  仅把已经add文件(tracked file)及删除文件(delete)提交到暂存区,不包含新增文件。(git add --update 的缩写)

git add -A  是git add .和git add -u 的集合。(git add -all的缩写)

 

修改的文件暂时不需要,但是需要切分支或者更新代码

git stash  把修改的文件临时存储起来

git stash list  查看被临时存储起来的文件

git stash apply  恢复文件,但是不删除 stash 列表中的内容

git stash drop  删除 stash 文件

git stash pop  恢复并删除 stash 文件

git stash apply stash@{0}  恢复指定的 stash 文件

 

修改的代码不想提交了

  • A  情况: 代码还在工作区
    •   git checkout --[filename]
  • B  情况:代码在暂存区
    •   git reset HEAD [filename]
    •   git checkout --[filename]
  • C  情况:代码在本地仓库
    •   git reset HEAD^
    •        git reset HEAD^^
    •        git reset HEAD~100

 

删除没有  git add 的文件

git clean -n   显示将要删除的文件及目录

git clean -f   删除文件

git clean -df   删除文件及目录

 

删除已经  git add 的文件

git rm [filename]  删除文件

git rm -r [fileFolder]  删除 fileFolder 文件夹

 

查看分支

git branch  查看本地分支

git branch -r  查看所有远程分支

git branch -a  查看本地和远程分支

 

重命名分支名

git branch -m [old-branch-name] [new-branch-name]  本地分支重命名

git branch -m [old-local-branch-name] [new-local-branch-name]  重命名远程分支对应的本地分支

git push origin  :[old-local-branch-name]  删除远程分支

git push origin  [new-local-branch-name]: [new-local-branch-name]  上传新命名的本地分支(把本地分支上传到远程)

 

删除本地或者远程分支

git branch -d  [myBranch]   删除本地分支

git branch -D  [myBranch]  强制删除本地分支

git branch -d -r  [myBranch]  删除远程分支

git branch -D -r  [myBranch]  强制删除远程分支

git push origin  : [myBranch]  删除远程分支

git fetch --prune  清理本地陈旧分支

 

新建分支

git branch -f  [myBranch]  新建一个分支不切换至新分支

git branch -b [myBranch]  新建一个分支并切换至新分支

git push origin  [myBranch]  把本地分支推送到远端分支

git branch --set-upstream [myBranch]  origin/[myBranch]   建立本地分支与远端分支的关系

git branch --unset-upstream  [myBranch]  取消本地分支与远端分支的关系

 

把某一次commit的文件提交到另外一个分支

git cherry-pick commit-id  把某一次commit 合并到另外一个分支

git cherry-pick 多个commit-id   把多次commit 合并到另外一个分支(合并顺序以提交为顺序)

git cherry-pick --continue  出现冲突,解决冲突继续合并

git cherry-pick --abort  取消此次合并

 

创建标签(以版本发布)

git tag [tagName]   创建轻量标签

git tag -a [tagName] -m "commit record"  创建附注标签

git checkout [tagName]   切换标签

git show [tagName]   查看标签信息

git tag -d [tagName]  删除本地标签

git tag -a [tagName] commit -m "commit record"  给指定的 commit 打标签

git push origin [tagName]  将 [tagName] 标签推送到远端

git push origin --tags  将本地所有标签一次性提交到远端

git push origin --delete tag [tagName]

git push origin  :[tagName]   删除远程标签

 

查看提交历史记录

git log 

git log --stat  展示修改的文件及每个文件修改了多少行

git log -5  显示最新5次修改记录信息

git log -p  按补丁格式显示每个更新之间的差异

git log --pretty=online  把commit 描述及commit-id 一行展示

git log --shortstat  只展示修改了多少个文件不具体显示修改哪些文件

git log --author=张三  展示 张三 这个用户的修改历史

git reflog show --date=iso branch-name  查看分支创建时间

 

*** 待续 ***

 

tagName

git 常用命令

标签:本地仓库   checkout   文件夹   head   git merge   size   目录   没有   let   

原文地址:http://www.cnblogs.com/jiaojie/p/7077370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!