目录

一、关联并上传新的本地项目

二、删除本地仓库/远程仓库下受.gitignore规则制约的文件

三、Git的代码更新以及冲突解决

1. 方法一:git pull = git fetch + git merge

2. 方法二:git pull --rebase = git fetch + git rebase

3. 方法三:git stash


记录并分享笔者学习Git命令的路程。

 

一、关联并上传新的本地项目

当本地已经创建了一个项目,想将这个项目公开在GitHub上,则需要在GitHub上为这个项目开辟一个属于它的“个人主页”。

1. 在GitHub创建新的空项目

创建的过程不涉及Git命令,故不详细说明。

[Version Control] Git命令新手入门

2. 在项目文件夹下初始化本地Git仓库

git init

3. 关联远程仓库

此处将git地址替换为自己的远程仓库地址

git remote add origin [email protected]:***/***

4. 合并远程仓库的内容

git pull --rebase origin master

5. 提交项目文件至文件暂存区

git add *

6. 提交项目文件至本地仓库

在引号添加提交信息说明

git commit -m "xxxxxxxx"

7. 提交本地仓库的内容

git push origin master

 

PS:

创建并关联的过程中,先pull再add的原因是为了能够获得GitHub自动创建的.gitignore文件。

.gitignore文件的作用是帮助git分辨哪些文件是没有必要提交至仓库的,git以此文件为依据来过滤项目文件夹下的所有文件,被过滤的文件不会纳入git管理。在必要时,可以再pull之后,先修改.gitignore文件,自行控制需要纳入git管理的文件。

但是当文件已经被纳入git的管理(被add/commit)之后,则不会受到.gitignore的规则影响。

 

二、删除本地仓库/远程仓库下受.gitignore规则制约的文件

当不想被纳入git管理的文件已经上传至本地仓库,或者同步至远程仓库,则需要对项目来一次清理。

1. 删除git本地缓存,使文件变成untrack状态

git rm -r --cached *

2. 将项目重新添加至暂存区

git add *

3. 查看git的文件状态

git status

这条命令非常常用,对了解本地项目有很大帮助。与这条命令类似的还有git diff。status和diff命令的具体语法学习参照官方说明:

git status --help
git diff --help

4. 提交更新至本地仓库

git commit -m "xxxxxxxx"

5. 将本地仓库更新推送至远程仓库

git push origin master

 

三、Git的代码更新以及冲突解决

1. 方法一:git pull = git fetch + git merge

一般情况下,推荐使用方法一对本地代码进行更新。

(1) 把远程仓库master分支下载到本地并存为temp分支(分支名可自取)

git fetch origin master:temp

(2) 查看temp和本地master分支的不同

git diff temp

(3) 合并temp分支和master分支

git merge temp

(4) 手动处理conflict

(5) 添加冲突文件

git add *

(6) 提交文件并上传

git commit -m "xxxxxxxx"
git push origin master

(7) 删除temp分支

git branch -d temp

 

2. 方法二:git pull --rebase = git fetch + git rebase

merge和rebase最大的差别在于分支合并之后,分支树的显示情况。

(1) 把远程仓库master分支合并至本地

git pull --rebase origin master

(2) 手动解决冲突文件

(3) 重新添加冲突文件至暂存区

git add [<filepath>...]

(4) 继续rebase,重复(2)、(3)、(4)步骤

git rebase --continue

(5) 提交并上传至远程仓库

git commit -m "xxxxxxxx"
git push origin master

 

3. 方法三:git stash

该方法适用于改动未提交到本地仓库的情况

(1) 把工作区和暂存区的改动全部保存到stash

git stash

(2) 更新本地仓库

git pull origin master

(3) 取出保存的改动

git stash pop

(4) 手动解决冲突

(5) 提交改动并上传

git commit -m "xxxxxxxx"
git push origin master

 

 

 

相关文章: