Git基础教程

来源:互联网 发布:工程算量软件 编辑:程序博客网 时间:2024/05/21 08:13

Git简介

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

基本功能

1.git init 创建项目仓

$ git init

2.git clone [url] 克隆项目仓

$ git clone https://github.com/pinoliu/ONENOTE.git

3.git add [file] 添加文件

$ git add README.md

4.git status 查看文件状态

$ git statusOn branch masterInitial commitChanges to be committed:  (use "git rm --cached <file>..." to unstage)        new file:   README.md

5.git commit 提交修改的内容

git commit 只会将 git add 的当时文件的变化进行提交, git commit -a 会将当前全部修改的文件进行提交。

$ git commit[master (root-commit) 25e64f2] commit demo 1 file changed, 3 insertions(+) create mode 100644 README.md

6.git branch [分支名称] 新建分支

当项目刚 git init 未 git commit 之前,最基础的 master 实际上是未创建的,即当前还没有生成分支的配置信息。因此项目创建后并提交过一次,才能创建分支。

$ git branch demo_test$ git branch demo_test* master

7.git checkout [分支名称] 切换分支

$ git checkout demo_testSwitched to branch 'demo_test'

8.git branch -d [分支名称] 删除分支

$ git branch demo_delete$ git branch  demo_delete* demo_test  master$ git branch -d  demo_deleteDeleted branch demo_delete (was 25e64f2).

9.git merge [分支名称] 同步分支

$ git branch demo_merge$ git checkout demo_mergeSwitched to branch 'demo_merge'【修改文件,比如README.md】$ git add README.md$ git commit[demo_merge b3d746c] Demo for merge. 1 file changed, 4 insertions(+)$ git checkout demo_testSwitched to branch 'demo_test'$ git merge demo_mergeUpdating 25e64f2..b3d746cFast-forward README.md | 4 ++++ 1 file changed, 4 insertions(+)

常见冲突的解决方式

1.本地代码与个人仓冲突

回退本地的提交记录

$ git reset --soft [提交记录]

2.个人仓与项目仓冲突

克隆个人仓的代码,在本地回退提交记录,并回退个人仓的提交记录

$ git reset --hard [提交记录]$ git push -a --hard

3.个人/项目 分支间冲突

构造分支间冲突后,使用 可视化比较工具(如Beyond Compare)进行比较并保存后,提交记录即可。

$ git commit -a[demo_test 81f1b04] Demo_test for conflick 1 file changed, 2 insertions(+), 2 deletions(-)$ git checkout demo_mergeSwitched to branch 'demo_merge'$ git commit -a[demo_merge 9e91d82] demo_merge for conflict:wq 1 file changed, 2 insertions(+), 2 deletions(-)$ git checkout demo_testSwitched to branch 'demo_test'$ git merge demo_mergeAuto-merging README.mdCONFLICT (content): Merge conflict in README.mdAutomatic merge failed; fix conflicts and then commit the result.$ git mergetoolMerging:README.mdNormal merge conflict for 'README.md':  {local}: modified file  {remote}: modified file$ git commit -a[demo_merge 134c625] Merge branch 'demo_test' into demo_merge
原创粉丝点击