- Author: duqi@kongge.com
- Date: 2017.02.13
- 总结自廖雪峰-Git教程
-
将一个本地维护的项目,转换为一个 Git 项目,并托管到 GitHub:
- 打开命令行终端,进入项目所在的本地目录,将目录初始化为一个 Git 项目,
git init
; - 将所有文件放进新的本地 git 仓库,
git add .
; - 将添加的文件提交到仓库, 'git commit -m "test"';
- github上创建一个新的仓库,复制仓库的git,
https://github.com/superRaytin/alipay-app-ui.git
- 把本地仓库和远程仓库连接起来,
git remote add origin https://github.com/superRaytin/alipay-app-ui.git;
- 提交代码到 GitHub 仓库,
git push -u origin master
- 打开命令行终端,进入项目所在的本地目录,将目录初始化为一个 Git 项目,
-
git diff HEAD -- readme.txt
:- 对比版本库和本地文件的差异
-
git checkout -- readme.txt
:- 丢弃工作区的修改
- 把未提交的文件,恢复到最近一次样子。注意,一定要有
--
; - 这个文件回到最近一次git commit或git add时的状态。
-
git reset HEAD readme.txt
:- 可以把暂存区的修改撤销掉(unstage),重新放回工作区:
-
git rm test.txt
:- 先通过
rm test.txt
, 如果确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit; - 如果觉得删错了,可以用
git checkout -- test.txt
恢复
- 先通过
-
git remote add origin git@github.com:michaelliao/learngit.git
:- 本地创建了git仓库,远程也创建了
learngit
仓库; - 通过
git remote
建立仓库的关联; - 然后通过
git push -u origin master
,把本地库的所有内容推送到远程库上; - 第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令;
-
git push origin master
,把本地master分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库!
- 本地创建了git仓库,远程也创建了
-
git clone git@github.com:michaelliao/gitskills.git
:- 如果先有远程仓库,可以克隆到本地
-
git checkout -b dev
:- 创建dev分枝,
-b
参数表示创建并切换,相当于以下两条命令: git branch dev
git checkout dev
- 创建dev分枝,
-
git merge dev
:git merge命令用于合并指定分支到当前分支。比如,目前如果在master分枝上,
git merge dev
,即把dev
分枝合并到master
分枝上;合并完成后,就可以放心地删除dev分支了,
git branch -d dev
;删除后,查看branch,就只剩下master分支了:
git branch
<u>因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。</u>:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
合并过程中,冲突的解决!
-
git update-index --assume-unchanged logs/*.log
:- 已经维护起来的文件,即使加上了gitignore,也无济于事。先删除跟踪文件,这样每次提交就不会出现logs下面的文件了