Basic

git add <filename> :添加到缓存区
git commit -m "代码提示信息" :提交改动到HEAD,但还没到你的远端仓库
git push origin master (可以把master换成想推动的任何分支):推送改动从本地仓库HEARD到远端仓库
git remote add origin <server> :连接本地仓库到某个远程服务器
---------分支操作----------
*分支用来将特性开发绝缘开来。master是默认的分支,在其他分支上进行开发,完成后再将它们合并到主分支
git checkout -b branch_name :创建一个叫branch_name的新分支,并切换到此分支
git checkout master: 切回主分支
git branch -d branch_name:删掉新建的分支
git push origin <branch> :推送到远端仓库(除非你将分支推送到远端仓库,否则其不为他人所见)
----------更新与合并----------
git pull 更新本地仓库至最近改动
git merge <branch> 合并其他分支到当前分支
出现冲突时,需要修改文件来手动合并冲突,改完后执行命令git add <filename>
合并改动前,可以使用命令预览差异:git diff <source_branch> <target_branch>
-----------标签----------
git log 获取ID
git tag <version><ID>
---------log------------
git log 查看本地仓库的历史记录
git log --author=xxxx 只看某个人的提交记录
git log --pretty=oneline 显示每条记录只占一行的输出
git log --graph --oneline --decorate --all 树形结构展示所有分支,每个分支都表示了他的名字和标签
git log --name-status 看看哪些文件改变了
---------替换本地改动-------------
操作miss时用命令替换掉本地改动:git checkout --<filename>
*此命令会使用HEAD中的最新内容替换掉你工作目录中的文件,已添加到缓存区的改动以及新文件不会受影响
丢弃本地的所有改动和提交,可以到服务器上获取最新的版本历史,并将本地文件指向它:
git fetch origin
git reset --hard origin/master
-------------实用小贴士------------
gitk 内建的图形化

资料

http://marklodato.github.io/visual-git-guide/index-zh-cn.html

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

https://zachholman.com/posts/how-github-works-hours/

https://zachholman.com/posts/how-github-works-asynchronous/

http://www.runoob.com/w3cnote/git-guide.html

https://help.github.com/
http://think-like-a-git.net/

补充

git config --list  检查已有的配置信息

 

基本操作流程

Step/ID command remark related others

1.

mkdir <name>
pwd
创建子目录
显示当前目录
 

2.

git init 把这个目录变成git可以管理的仓库  
3. git add <file>

添加文件

 Git Guide之basic篇 随笔

  • git add -A 提交所有变化
  • git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
  • git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
4. git commit -m "description" 提示说明  
5. git status 仓库当前的状态  
6. git diff 查看不同  
7. git log 查看历史记录 git log --pretty=oneline 查看缩略版的历史记录
8. git reset --hard HEAD^ 回退到上一版本,HEAD后可以是commit_id  
9. git reflog 用来记录你的每一次命令,找到commit_id回到未来某个版本  
10. git diff HEAD – <file> 查看工作区和版本库里面最新版本的区别  
11. git checkout – <file> 用版本库里的版本替换工作区的版本,无论工作区是修改还是删除  
12. git reset HEAD <file> 把暂存区的修改撤销掉,重新放回工作区,用HEAD时,表示最新的版本  
13. git rm 用于删除一个文件  
14.

ssh-keygen -t rsa -C "youremail@example"

创建SSH Key  
15.

git remote add origin git@github.com:xxxxx.git

关联github远程库  
16. git push - u origin master/git push origin master 推送到远程库 第一次用韩语-u的命令,推送master分支的所有内容
17. git clone git@github.com:xxxxx 克隆一个本地库  
18. git checkout -b <branchname> 创建分支  
19. git branch 列出所有分支(当前分支前会有一个*号)  
20. git checkout master 切换到master分支  
21. git merge dev 合并制定分支到当前分支  
22. git branch -d dev 删除dev分支  
23. git log --graph 查看分支合并图  
24. git stash 把当前工作现场"储藏"起来,等以后恢复现场后继续工作

git stash list 查看工作现场

git stash pop 恢复的同时把stash内容也删了

25. git branch -D <name> 强行删除一个没有被合并过的分支  
26. git remote 查看远程库的信息 git remote -v 显示更详细的信息
27. git push origin branch -name 从本地推送分支,如果推送失败,先用git pull抓取远程的新提交  
28. git pull 把最新的提交抓取下来 如果提示"no tracking information",则说明本地分支和远程分支的链接关系没有创建
29. git tag <name> 打一个新标签,默认标签是打在最新提交的commit上 git tag <name> <commit id> 找到历史提交的commit id, 可以给历史版本打标签
30. git tag 查看所有标签  

 

第一步:新建分支 

//获取主干最新代码
git checkout master
git pull
//新建一个开发分支cindy
git checkout -b cindy

第二步:提交分支commit

git add --all(保存所有变化)
git status(查看发生变动的文件)
git commit --verbose(列出diff结果)

第三步:撰写提交信息

commit

提交commit时,必须给出完整扼要的提交信息,下面是一个范本。

Present-tense summary under 50 characters

* More information about commit (under 72 characters).
* More information about commit (under 72 characters).

http://project.management-system.com/ticket/123
第一行是不超过50个字的提要,然后空一行,罗列出改动原因、主要变动、以及需要注意的问题。最后,提供对应的网址(比如Bug ticket)。

第四步:与主干合并

git fetch origin
git rebase origin/master

第五步:推送到远端仓库

git push

第六步:发出Pull Request

提交到远程仓库后,就可以发出Pull Request到master分支,然后请求别人进行代码review,确认可以合并到master。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄