git 常用

 

一.   加  ssh-key

二.   git clone

使用git clone命令从github上同步github上的代码库时,如果使用SSH链接(如我自己的beagleOS项目:git@github.com:DamonDeng/beagleOS.git),而你的SSH key没有添加到github帐号设置中,系统会报下面的错误:

Permission denied (publickey).

fatal: The remote end hung up unexpectedly

 

这时需要在本地创建SSH key,然后将生成的SSH key文件内容添加到github帐号上去。

创建SSH key的方法很简单,执行如下命令就可以:

ssh-keygen

然后系统提示输入文件保存位置等信息,连续敲三次回车即可,生成的SSH key文件保存在中~/.ssh/id_rsa.pub

 

然后用文本编辑工具打开该文件,我用的是vim,所以命令是:

vim ~/.ssh/id_rsa.pub

 

接着拷贝.ssh/id_rsa.pub文件内的所以内容,将它粘帖到github帐号管理中的添加SSH key界面中。

打开github帐号管理中的添加SSH key界面的步骤如下:

1. 登录github

2. 点击右上方的Accounting settings图标

3. 选择 SSH key

4. 点击 Add SSH key

在出现的界面中填写SSH key的名称,填一个你自己喜欢的名称即可,然后将上面拷贝的~/.ssh/id_rsa.pub文件内容粘帖到key一栏,在点击“add key”按钮就可以了。

添加过程github会提示你输入一次你的github密码

 

添加完成后再次执行git clone就可以成功克隆github上的代码库了。

三. 本地操作

1.  创建分支(本地)

git branch feature/new_task

 

2. 切换分支

git checkout feature/new_task

(1&2  git checkout -b feature/new_task)

 

3. 查看log

git log     

 

4. 查看当前branch状态

git stauts

 

5. 回退到修改前  

git reset HEAD   (已经commit?)

 

6.添加需要提交的文件

git add $filename

 

7. 提交文件

git commit -m "$commit_str"

git commit -v

 

8.查看文件修改情况

git diff

git show $commit_id

 

9.临时缓存

git stash   (缓存)

git stash pop  (加载缓存)

 

10.回退版本

git reset -hard $commmit_id  (慎用,貌似会覆盖代码)

 

四.  提交到server前要做的操作

* develop 为本地  主 branch  

* origin 为代码源

* origin/develop  为 源的主 branch

*  feature为本地的开发branch

1. git checkout develop  

2.git fetch origin       (查看元是否有新的更新)

3. git merge origin/develop    (将源的新内容更新到本地主branch)

4. git checkout feature   

5. git rebase develop     (将本地主branch已更新的内容rebase到开发branck)

  如果有冲突:

   5.1   修改冲突文件

   5.2   git add 已修改冲突文件

   5.3   git rebase --continue  继续查看是否还有冲突

6 git push origin feature   (最后可以保证已和线上代码同步,提交开发的内容)

 

 

posted @ 2014-06-05 12:14  flamedancer  阅读(223)  评论(0编辑  收藏  举报