再不学git我们就老了

作者: ccccccal | 来源:发表于2017-09-20 18:46 被阅读200次

git 配置

git config —global user.name "ALguojian"

git config —global user.email "jzhszy@foxmail.com"

git常用命令

  • git branch -m devel develop (重命名本地分支名字,命名之后,直接提交到远程,然后需要将本地和远程分支同步一次)

  • git branch --set-upstream-to=origin/develop (同步本地和远程连接)

  • git rm -r –cached . (删除在git管理中文件的缓存)

  • mkdir test (创建文件夹test)

  • cd test (切换到test目录)

  • touch a.md (新建a.md文件)

  • git init (初始化git仓库)默认在master分支

  • git status(查看状态)

  • git add (缓存,待提交)

  • git add . (添加所有文件)

  • git add -u (将文件的修改、文件的删除,添加到暂存区)

  • git add -A (将文件的修改,文件的删除,文件的新建,添加到暂存区)

  • git rm --cached (删除缓存)

  • git fetch origin (自动获取更新远程分支)

  • git commit (提交) git commit -m "第一次提交"

  • git commit -am "提交信息" (所有的改动都更新到缓存区并提交,相当于git add .和git commit -m 的合并)

  • git log (commit记录)

  • git branch 分支(查看本地分支)

  • git branch -r (查看远程分支列表)

  • git checkout develop origin/develop (远程的 develop 分支迁到本地)

  • git checkout -b develop origin/develop (把远程分支迁到本地顺便切换到该分支)

  • git branch a (创建分支 a)

  • git checkout a (切换到 a 分支)

  • git checkout -b a (创建并切换到 a分支)

  • git merge a(合并分支 a 到主分支)合并之前先切换到master分支(在master执行)

  • git rebase a (合并分支a)(在a分支处理)

  • git rebase -i <commitID>(删去那些无关紧要的提交,整理提交记录)

  • git rebase side another 合并another分支到side分支上,并且提交记录在最前端

  • git commit --amend -m "这是新的提交日志"修改上次提交日志

merge只是合并另外一个分支的内容,rebase也合并另外一个分支的内容,但是会把本分支的commits顶到最顶端。具体可以查看下面的说法
https://www.zhihu.com/question/36509119/answer/67828312
http://www.cnblogs.com/kidsitcn/p/5339382.html
http://blog.csdn.net/fybon/article/details/52460516

  • git branch -d a (删除分支 a )
  • git branch -D a (强制删除分支a,针对于 a 有代码没有合并到master,git branch -d a 删除不了)
  • git push --delete origin devloper (删除远程分支)
  • git tag v1.0(建立版本1.0,查看历史版本)
  • git checkout v1.0 (切换到1.0版本)
  • git stash (把当前分支所有没有commit的代码暂时保存起来(执行了add 也无所谓))
  • git stash list (查看暂存区的记录)
  • git stash apply (回到暂存之前)
  • git stash drop (回来之后建议删除stash记录)
  • git stash pop (回到暂存之前,并删除记录)
  • git stash clear

是清空所有暂存区的记录,drop 是只删除一条,当然后面可以跟 stash_id 参数来删除指
定的某条记录,不跟参数就是删除最近的,而 clear 是清空。

  • git rebase -i HEAD~4 (改变之前4次提交的顺序)
  • git reset HEAD~a (回退到某一个版本)(reset只在本地使用,远程推送建议使用revert会再提交一个新的纪录,该记录引入更改--这些更改刚好就是用来撤销上次提交的,回到上次提交之前的状态)
  • git reset HEAD^ (回退到上一个版本)
  • git reset HEAD^^ (回退到上上个版本)
  • git reflog (回退错了,前进)
  • git revert HEAD(撤销上次提交,用于远程推送)

添加SSH

在git bash 输入 ssh-keygen -t rsa 生成文件,github创建新的SSH并填入,之后输入 ssh -T git@github.com 测试是否添加成功

推送或者下拉(先pull再push)

git push origin master 推送

git pull origin master 下拉

git pull origin master --allow-unrelated-histories
git push -f origin master 更新

git clone git@github.com:ALguojian/test.git下载github上面的项目到本地

关联giuhub仓库

git remote add origin https://github.com/ALguojian/git_study.git

origin就是仓库名字,建议名字和远程仓库一样,较易管理

git remote -v 查看该项目有哪些仓库

git push origin master 提交代码可以到 master 分支,或者其他分支

git remote rm "origin" 删除origin远程仓库

alias 配置 简短参数

git config --global alias.c checkout
git config --global alias.cm commit
git config --global alias.st status
git config --global alias.br branch

git config -l 查看所有配置

补充,移动到其他提交记录,即HEAD的指向

git checkout a 不仅用于切换分支还可用于切换提交记录,此时a代表提交记录的哈希值(很长),不过只需要前几位即可

  • 使用 ^ 向上移动 1 个提交记录
  • 使用~<num> 向上移动多个提交记录,如 ~3

^后面加数字标识回到父类其他分支用法:
git checkout HEAD~; git checkout HEAD^2; git checkout HEAD~2

并且还支持链式操作:
git checkout HEAD~^2~2

所以master^相当于“master 的父节点”。master^^master 的第二个父节点,也可以将 HEAD 作为相对引用的参照,可以一直使用 HEAD^向上移动

git branch -f master HEAD~3 将 master 分支强制指向 HEAD 的第 3 级父提交(强行改变分支所处位置)

git cherry-pick C2 C3 C4(改变提交记录与主分支,C2是提交的记录的哈希值)

git fetch 同步绑定的仓库(一般是其他分支)

git pull 就是 git fetchgit merge <just-fetched-branch> 的缩写!

git fakeTeamwork foo 3模拟远程提交,可以指定分支和次数

相关文章

  • 再不学git我们就老了

    git 配置 git config —global user.name "ALguojian" git confi...

  • Android发布Library到JitPack

    首发你要学会使用git 具体可以参考再不学git我们就老了 1.studio新建一个工程project,再添加一个...

  • 再不学习,我们就老了

    生命是一场没有彩排的现场直播 二字打头的年纪 一遍又一遍的告诉自己 再不好好学习 我们就老了 身为80后,90后的...

  • 再不学就老了

    再不努力再不拼搏再不相爱再不青春再不疯狂就没机会了因为人会老喜欢ui设计,有学习的想法,但要行动的时候真的是件很难...

  • 再吵,我们就老了

    一整宿没睡,早上起来洗漱的时候,晋莹莹意外发现额头上有一条明显的皱纹。 这让她觉得异常惊讶,什么时候,自己竟然“老...

  • 再不学画画,我们就老了!

    买好书,准备好纸笔! 还在等什么呢?

  • 再不学画画我们就老了

    手机上试学了几节国学课,喜欢,上瘾了! 想续课呢599/60节,又觉得宝宝已成人,买书来自学吧,反正...

  • 再不学习就老了

    曾经的年少轻狂将我这颗满腔怒火的子弹,射向社会的滚滚洪流中,十载沉浮,跌跌撞撞,到如今终于荒唐了半辈子!蓦然回首时...

  • 山中麻署

    >>互联网时代,再不学习我们就老了! >>"重女轻男"的慢性疼痛

  • 再不学习就真的老了

    今天,我做了一套衡水中学小升初的试卷。说句实话,当看到这套题的时候,我真的觉得还是有一定难度的,对于我这样多年不摸...

网友评论

    本文标题:再不学git我们就老了

    本文链接:https://www.haomeiwen.com/subject/nfoosxtx.html