本章主要记录Git的常用命令的使用总结。
-
创建版本库
创建版本库非常简单,首先选定或者创建一个文件夹作为版本库目录。
使用命令: git init 把目录变成Git可以管理的仓库,注意需要切换到你需要的目录下运行该命令
经过上步骤,瞬间创建了一个空的本地Git仓库
-
版本库推送远程仓库
经过上一步骤,恭喜你,你的本地创建了一个版本库,但是这才刚开始。因为Git除了本地可以创建,还可推送到远程仓库,这样,假设你本地文件损坏,至少远端还有备份。另外也便于团队合作,总不能,让人从你电脑上clone版本吧。
需要两个步骤:
关联远端版本库
使用命令:git remote add origin ssh://liuguicheng@192.168.0.160:29418/git_work.git 你需要修改就是ssh后面的地址,也就是你远端实际的路径
注意:你本地版本库名必须与远端库的版本库名一致,否则会匹配不上。另外远端库必须存在以你推送的版本库名的版本库,否则会报下图错误:
另外:如果你创建一个新的本地版本库,未做任何文件添加和commit 操作,直接使用命令推送远程仓库,是无法操作的。必须先在本地添加文件,然后commit,这是才会正在形成以master命名的库。
推送至远端版本库
使用命令:git push -u origin master
把本地库的内容推送到远程,用git push
命令,实际上是把当前分支master
推送到远程。由于远程库是空的,我们第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
-
从远程仓库克隆
使用命令:git clone 远端地址 例如:git clone ssh://liuguicheng@192.168.0.160:29418/renting-soa.git
远端地址可以是任何地址,前提是你有相关权限
-
提交修改
每次提交前养成习惯,使用命令: git pull 表示先拉去一下远端版本,或许有小伙伴已经提交了,还没来得及告诉你。
提交前首先使用命令:git status 查看一下本次修改内容(这步不是必须的,但建议养成习惯)
其次可以使用命令:git add . 那个“.”点不要漏了,代表添加所有文件。也可提交单独文件,例如:git add 1.txt(建议按需添加,以免一时间提交了不想提交的文件)
再然后使用命令:git commit -m “这里是些这次提交的说明”
最后再使用命令:git push 表示推送本次提交到远端版本库
-
创建分支
当你的和别人合作,或者你的团队从你变成2个人以上了,下面几步就很实用了,并建议使用分支。
创建并切换分支命令:git checkout -b dev
说明:git checkout 表示切换分支 -b 代表创建 dev 表示分支名称 ,相当于:git branch dev 和git checkout dev 两条命令
使用命令:git branch 查看所有分支 ,当前分支会有*标注
使用命令:git branch -a 查看远端仓库所有分支
自此创建完成,没有切换其他分支前,所有修改都在本次分支上
-
合并分支
当本次分支测试完成,需要与同步到主分支(master),那就要合并分支了。
使用命令:git merge dev 说明:dev表示分支名
成功的话会提示如下:
如果提示如下图,表示有冲突,需解决冲突,下图中红框圈中的文件冲突。怎么解决,看下面的解决冲突小结。
通常,合并分支时,如果可能,Git会用Fast forward
模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward
模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
使用命令:git merge --no-ff -m " 说明" dev
使用命令:git log 查看记录
-
推送分支
使用命令:git push origin dev
-
解决冲突
当多人合作,冲突在所难免,怎么解决,首先先找到冲突文件,一般pull或者push如果有冲突都会提示冲突文件。
这时直接打开文件,找到文件有如图的标记,解决的办法就是保留需要的代码,删除不需要的代码,然后保存即可。
最后不要忘了再次git add 、git commit 、再次git push 即可。
-
删除分支
当分支不再需要时,可以删除
使用命令:git branch -d dev
再次使用命令:git branch 查看是否已删除
当前要删除远端就要推送同步即可。
-
git放弃本地修改
git checkout功能是本地所有修改的。没有的提交的,都返回到原来的状态
git stash功能是把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
git reset --hard HASH功能是返回到某个节点,不保留修改。
git reset --soft HASH功能是返回到某个节点。保留修改。
git clean -df功能是保留修改,返回到某个节点。
参考资料:
(廖雪峰的官方网站)https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000