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--