Github 的一些基本操作

1.创建一个新的repository:

先在github上创建并写好相关名字,描述。例如这样一个地址:

https://github.com/test/test2.git

回到本地目录如helloworld:

$cd ~/helloworld

 初始化

$git init  

把所有文件加入到索引(不想把所有文件加入,可以用gitignore或add 具体文件)

$git add . 

提交到本地仓库

git commit -m "first commit"

增加到remote

git remote add origin https://github.com/test/test2.git

发布到github上

git push -u origin master

 2.更新项目

更新本地代码到最新版本(需要merge才能合到本地代码中)
git fetch

合并更新后的代码到本地

git merge

更新代码方式的另一种方法(git pull是git fetch和git merge命令的一个组合)

git pull

3、查看

修改代码后,查看已修改的内容

git diff --cached

 查看历史日志

git log

4、撤销提交

撤销前一次 commit

git revert HEAD

撤销前前一次 commit

git revert HEAD^

撤销指定的版本

git revert commit (比如:git revert fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)Git的版本号都是生成的一个哈希值,撤销也会作为一次提交进行保存。

5、处理冲突

发生冲突时怎么办?当不能自动合并时,不要着急,按步骤来。

1 git add readme
2 git commit -m 'helloworld'
3 git pull 

拉取后提示有冲突了。这时打开本地文件readme,内容已经变了:

<<<<<<< HEAD
这是本地仓库

=======
这是远程仓库
>>>>>>> 28bdc408d445eb54b89032ac9925b27b67ac036a

上面的HEAD是本地文件,下面的是远程仓库的文件内容。修改后再次提交:

1 git add readme
2 git commit -m 'helloworld'
3 git push

这样即可解决冲突。

记得只要本地文件有更改,一定要再次提交一次。

6、查看状态

git status

7、查看提交日志

git log

 8、每次提交时的密码问题(1小时内有效)

git config --global credential.helper 'cache --timeout 3600'

 9、想在pull拉取前知道改了些什么该怎么办?

git fetch
git log hello/master -p # hello:远程仓库名 master:远程仓库分支 
或者:
git diff origin/master master --stat(远程origin/master,本地是master)

 10、克隆一个仓库

从github上克隆一个仓库后可以提交新的改动,这样就可以在不同的电脑上使用同一个github仓库了。

$ git clone https://github.com/test/django-tutorial

然后进入django-turorial目录,在里面$git add,git commit...

 11、只添加修改的文件

git add -u

 12、如何恢复不小心删除了的文件?

如果不小心用 git rm -r .  删除了工作目录下的所有文件,怎么恢复?

1. 恢复到最后一次提交的内容(在HEAD中):
git reset HEAD . 

2. 用HEAD中的最新内容替换掉工作目录中的文件:
git checkout -- .

  13、如何查看某个文件的修改历史?

每次commit之后提交,这样多了之后怎么来查看每次都修改了什么内容呢?

git log 文件名

git log --pretty=oneline 文件名

每个commit都有一个哈希值,用这个哈希值来显示更改的详细内容:

git show 8bfd3862bc714fd1a54cc1576cb0b31798541183

 

 

 

--End--

posted @ 2014-01-02 15:11  ibg  阅读(412)  评论(0编辑  收藏  举报