git使用笔记

git用来做代码版本管理非常合适和高效。

安装git

在ubuntu下获得git非常容易:
sudo apt-get install git

git提交到远程池

一次典型的过程,以在github建远程仓库为例,事先去github建立一个名字为test的repository之后:

1
2
3
4
5
6
7
8
9
git config --global user.name taohi            //第一次使用git时设置
git config --global user.email taohi@taohi.net //第一次时设置
mkdir test && cd test
git init //本地仓库初始化
vim hello.c
git add hello.c //加入到staging area
git commit -m "first file hello world" //提交到本地repository
git remote add origin git@github.com:taohi/test.git//设置origin别名
git push -u origin master //提交到远程repository

当然,要事先在github上设置好本地电脑生成的ssh public key,允许本地电脑的权限。

git做一次merge管理

git一般是一组人一起使用,在各自的本地repo与远程repo之间更新代码。在一定阶段后,比如说组内阶段1任务完成,此时需要将各自的分支下代码整合到master分支里。
以我自己分支taohi为例,将其merge到远程master,过程如下:

1
2
3
4
5
6
7
8
9
10
11
git checkout master  //进入本地master分支
git merge taohi //把我的分支merge到master分支
git checkout -t origin/xiaoming //取远程xiaoming的分支到我本地
git pull
git checkout master
git merge xiaoming //把小明的分支merge到master下
//如果还有其他人的分支,按上述方法都进行合并
git push origin master //把本地最后合并好的master更新到远程池
git tag topic1
git push origin --tags
结束。

git撤销一次merge合并

我在master下手贱,merge了一个分支。马上想撤销这次merge。
先git log 查看要撤销的这个merge操作的commit 编号,假设是fb10e4694ccc21321。执行:
git reset --hard fb10e4694ccc21321

git更换远程库地址

比如之前用的github的库,地址为url-github
现在用bitbucket的库,地址为url-bitbucket.

1
2
3
4
5
6
git remote rm origin
git remote add origin url-bitbucket
git push origin master
```

## git的其他常用命令

git ls-remote   查看远程所有的分支
git remote -v   查看git远程详细地址
git reset HEAD ^ 回滚到上一个提交点。注意上尖号
git branch (branch_name) 查看(创建)分支
git checkout branch_name 进入某分支
`