git的一些常用命令

自己的文件(电脑上的)--git add <file>-->添加到暂存区 --git commit -m "<修改信息>"-->提交到本地库 --git push <origin> <master>-->推送到远程仓库

1、提交

  • git add <file> (缓存file文件,file为文件名)
  • git add . (缓存所有文件)
  • git add -u (将修改、删除的文件添加到暂存区)
  • git add -A (将修改、删除、新建的文件添加到暂存区)
  • git commit -m "<修改信息>" (将暂存区的代码提交到本地库)
  • git commit -am "<修改信息>" (相当于:git add .  + git commit -m "<修改信息>")
  • git push origin master (推送  origin:远程仓库名称  master:远程分支名称)

2、分支    

  • git branch (查看本地分支列表)
  • git branch -r (查看远程分支列表)
  • git branch a (创建本地分支a)
  • git checkout a (本地分支切换到分支a)
  • git checkout -b a (创建并切换到分支a)
  • git merge a (合并分支 a 到当前分支,与rebase的区别见ps1)
  • git rebase a (合并分支a到当前分支,与merge的区别见ps1)
  • git branch -d a (删除分支a)
  • git branch -D a (强制删除分支a,如当a分支有未提交代码)
  • git push origin :develop (删除远程develop分支)
  • git push origin --delete <develop(删除远程develop分支)
  • git checkout <develop> origin/<develop> (把远程origin仓库下的develop分支拉取到本地,第一个develop是本地分支名称)
  • git checkout -b <develop> origin/<develop> (把远程origin仓库下的develop分支拉取到本地并切换到develop分支,第一个develop是本地分支名称)
  • git log (查看提交的历史记录)

3、标签

  • git tag (查询所有的标签)
  • git tag <a> (当前位置添加标签a)
  • git tag -a <v1.0> -m '<附注信息>' (创建带附注的标签) 
  • git push origin --tags (推送本地标签到远程仓库)
  • git push origin <v1.0> (推送本地v1.0标签到远程仓库)
  • git tag -d <v1.0> (删除本地v1.0标签)
  • git push origin :refs/tags/<v1.0> (推送空的同名版本到线上,来删除远程标签,需要先把本地的v1.0标签删除)
  • git fetch origin tag <v1.0> (获取远程v1.0版本)
  • git checkout a (切换到标签a,与切换分支命令相同)

4、拉取

  • git pull <origin> <master> (拉取远程master分支)
  • git remote add origin git@github.com:stormzhang/test.gi (关联远程仓库)
  • git remote remove origin (删除本地关联的仓库)
  • git pull <origin> <master> --allow-unrelated-histories (初次关联本地与远程仓库,本地与远程有冲突时拉取远程文件并关联) 
  • git push -u origin <remote-branch-name> (将本地分支与远程分支关联起来,<remote-branch-name> 为远程分支名称)

5、配置别名

  • git config --global alias.psm 'push origin master' (git push origin master  <==> git psm)
  • git config --global alias.c checkout  (git checkout  <==> git c)

6、暂存 stash   (stash是本地的,不会通过git push命令上传到git server上)

  • git stash (把所有未提交的修改(不包括untracked files和ignored files)都保存起来,用于后续恢复当前工作目录)
  • git stash <-u (or) --include-untracked>  (可以暂存untracked files)
  • git stash  <-a or --all> (暂存所有文件)
  • git stash save “xxx” (添加暂存记录, xxx:为添加的记录)
  • git stash pop (恢复最新的进度到工作区。git默认会把工作区和暂存区的改动都恢复到工作区)
  • git stash pop  [--index] (恢复最新的进度到工作区和暂存区。(尝试将原来暂存区的改动还恢复到暂存区))
  • git stash pop [stash_id] (恢复指定的进度到工作区。stash_id是通过git stash list命令得到的)
  • git stash apply [--index] [stash_id] (除了不删除恢复的进度之外,其余和git stash pop命令一样。)
  • git stash list (查看现有stash)
  • git stash drop [stash_id]  (移除stash@{0}这个暂存,stash_id通过git stash list命令得到的)
  • git stash clear (清除所有stash)
  • git stash show (查看指定的diff,后面可以跟着stash名字,在该命令后面添加-p或--patch可以查看特定stash的全部diff)
  • git stash branch [newversion] (从stash创建分支,newversion为分支名称)

7、账户信息

  • git config user.name 查看自己的用户名
  • git config user.email 查看自己的git账号
  • git config --global user.name "xxx"  修改自己的用户名
  • git config --global user.email "xxx"  修改自己的git账号

8、其它

  • git remote -v (查看当前项目有那些远程仓库)
  • git fetch  (刷新)
  • mkdir test (创建test文件夹)
  • cd test (切换到test目录下)
  • touch a.md (创建a.md文件)
  • git init (将当前文件夹初始化为git仓库)
  • git status (显示工作目录和暂存区的状态)
  • git diff  (比较当前文件和暂存区文件差异)
  • git config –global http.postBuffer 524288000 (修改git缓存大小限制为500M,默认为1M)

ps1:rebase跟merge的区别:

你们可以理解成有两个书架,你需要把两个书架的书整理到一起 去,第一种做法是merge,比较粗鲁暴力,就直接腾出一块地方把另一个书架的书全部放进 去,虽然暴力,但是这种做法你可以知道哪些书是来自另一个书架的;第二种做法就是 rebase,他会把两个书架的书先进行比较,按照购书的时间来给他重新排序,然后重新放置 好,这样做的好处就是合并之后的书架看起来很有逻辑,但是你很难清晰的知道哪些书来自 哪个书架的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值