git使用

1. 安装git:

sudo apt-get install git 
git config --global user.name "Your Name" 
git config --glocal user.email "Your email" 
----------------------- 
使用global,表示主机所有git都使用这个name,email.

2. 初始化:

mkdir laerngit 
cd learngit 
git init 
------------------------ 
有个.git目录,跟踪版本库

3. 提交:

git add readme.txt 
git commit -m "wrote a readme file." 
--------------------- 
git add可以同时添加多个文件,git commit等于把暂存区内容提交.

4. 回退版本:

git status查看状态 
git diff readme.txt查看不同,格式是Unix通用的diff格式. 
git log查看提交历史,--pretty=oneline参数:更简洁. 
那些复杂的数字是版本号. 
git reset --hard HEAD^ 
其中HEAD是目前版本,^的数量表示回退的次数,100个用HEAD~100 
如果知道版本号,也可以git reset --hard 3628164,写前几位就行. 
git reflog可以查看每一次命令,可以间接知道版本号.

 

5. 工作区和暂存区:

平时修改的地方就是工作区,add之后会进入暂存区. 
在git status中,Untracked是未添加过的意思. 
git commit只会提交暂存区的.

6. 撤销修改:

git checkout -- filename : 回到最近一次commit或add的状态 
git reset HEAD filename : 回到最近一次commit的状态

7. 删除文件:

当你删除了文件,然后 
git rm filename 
git commit就行了.

8. 添加远程仓库

在本地生成公钥私钥. 
在远程仓库处添加公钥. 
在远程仓库建立仓库(如learngit) 
git remote add origin git@github.com:will/learngit.git 
注意将will改成自己github账户名 
第一次推送使用git push -u origin master,zhu 
之后使用git push origin master就行了. 
其中origin是远程仓库在本地的代号,可以设置其他的. 
克隆远程仓库:git clone git@github.com:michaelliao/gitskills.git

9. 创建分支

git checkout -b dev 
-b参数表示创建并切换,相当于: 
git branch dev 
git checkout dev 
git merge dev:将dev合并到当前分支 
默认使用fast-forward,快速模式, 
git branch -d dev删除分支

10. 解决冲突

合并可能出现冲突 
解决冲突的话,直接修改冲突文件即可,在提交. 
git log --graph --pretty=online --abbrev-commit 
get merge --no-ff -m "merge with no-ff" dev 
使用--no-ff参数表示不使用fast-forward,此时多个-m. 
且不使用fast-forward,会有历史记录,如果fast模式不会.

11. 分支管理

master: 一般用于版本发布 
dev: 总开发分支 
bug: 每个人都有自己的bug分支,不用推送 
git stash储存现场 
git stash list查看储存的现场 
git stash apply恢复,再git stash drop 
git stash pop恢复的同时删除 
feature-xxx:功能分支,强制删除git branch -D branchName

12. 多人协作

git remote查看远程库的信息 
git remote -v详细信息 
git push origin master 
git push origin dev推送本地的分支 
git clone git@github.com:will/learngit.git抓取分支 
但只有master分支 
git checkout -b dev origin/dev:在本地创建和远程对应的分支 
如果本地dev分支和远程分支不同: 
git pull一般不用接参数 
**git branch --set-upstream dev origin/dev建立联系. 
前面的命令即将被废除,可以使用git branch --set-upstream-to=origin/dev

13. 标签:

git tag :新建一个标签,默认HEAD,可以指定commit id 
git tag -a -m "blala" 
git tag查看所欲标签 
git tag -d v0.1 删除标签 
git push origin v1.0推送标签 
git push origin --tags推送所有标签 
删除远程标签: 
先删除本地: git tag -d v0.9 
删除远程: git push origin :regs/tags/v0.9

14. .gitignore

忽略中间文件等 
/* : 表示忽略所有文件,支持正则 
!*.h : 感叹号是取反操作

15. 配置

git config --global alias.co checkout将co作为checkout别名

 

总结自廖雪峰先生的教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

posted on 2017-12-11 13:04  willaty  阅读(147)  评论(0编辑  收藏  举报

导航