参考链接https://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
- 在远程创建一个仓库
- 进入到本地项目目录中:
git init
(创建git管理)git add .
(添加所有文件)git commit -m '注释'
(添加到本地仓库)git remote
(管理远程主机名)git remote show
主机名(查看主机详细信息)git remote add
主机名 远程仓库网址(添加远程主机名)git remote rm
主机名(删除远程主机名)git remote rename
原主机名 新主机名(重新命名主机名)
- 取回远程主机的更新并于现在的代码合并:
git pull 远程主机名 远程分支名:本地分支名
(拉取远程主机的分支并与本地分支合并=git fetch+git merge
)git fetch 远程主机名 分支名
(取回远程主机的更新,这种取回不影响本地代码的开发)
- 提交代码:
git push 远程主机名 本地分支名:远程分支名
- clone代码:
git clone -o 远程主机名(没有默认远程主机名为origin) 远程仓库网址 本地目录名
- 创建分支(切换分支):
git checkout -b 新分支名 origin/master
(原分支名)git branch
查看本地分支git branch -r
查看远程分支git checkout 分支名
(切换到分支名)git branch 分支名
(创建分支)
git reset --hard
(回退分支)git reset HEAD 文件名
(撤销add的文件)git branch -d 分支名
(删除分支)- 删除添加的文件
git rm –cached “文件路径”,不删除物理文件,仅将该文件从缓存中删除;
- 几种场景问题:
- 服务器有新的更新,本地修改了代码,没有commit,pull了:
- revert(本地代码撤销)->重新pull->本地修改->提交
- stash save(保存/隐藏本地代码)->重新pull->stash pop(取回保存/隐藏的代码)->手动修改冲突->提交
- 服务器有新的更新,本地修改了代码,并且已经commit了,pull了:
- pull后有冲突,直接手动修改冲突->重新commit提交(如果还修改了别人的东西,需要两次提交)
- 服务器有新的更新,本地修改了代码,没有commit,pull了:
- 执行顺序:先pull代码,修改之后,stash保存,然后pull,然后取回保存的修改,手动修改冲突,最后commit,push