Git的安装
验证Git是否安装成功
Git全局设置
git config –global user.name “username”
git config –global user.email [email protected]
git config –global core.editor vim
验证git全局设置
生成root账号的ssh key
ssh-keygen -t rsa -C [email protected]
显示pub key的值
cat ~/.ssh/id_rsa.pub
复制显示出来的pub key。以root账号登录gitlab,点击settings,选择“SSH Keys”。
将复制的pub key 粘贴进去,然后点击Add key
Git的使用方法
在本地向远程仓库提交文件
1. touch test.txt (要上传的文件)
2. git init (初始化一个本地仓库)
3. git remote add origin [email protected]:root/php-mysql-development.git
4. git add test.txt (添加到暂存区中)
5. git commit -m “注释” (将test提交到本地仓库中)
6. git push -u origin master (将本地仓库的test推送到远处仓库的master中)
通过命令提交一个文件到新分支
添加新分支
git checkout -b NAME_OF_BRANCH
添加要提交的文件
git add NAME_OF_YOUR_FILE
添加提交
git commit -m “注释“
提交文件到新分支
git push origin NAME-OF-BRANCH
通过命令查看分支以及切换
查看远程分支
查看所有分支
当前分支是master
切换到dev分支
git checkout dev
将其他分支合并到master分支
git checkout NAME_OF_BRANCH
git merge master
将远程仓库克隆到本地
假设现在你的团队其他成员已经在git上建好了仓库,并且也push过代码,这个远程git仓库还叫“StudyGit“,有两个文件:a.txt和README.md。现在,你也要开始贡献代码,那么首先你需要把团队其他成员提交的所有东西都拉取到你的本地目录,这个时候用到clone命令。
只要执行这条语句,就可以把远程仓库的所有东西都拉取到本地目录了。生成的本地目录名称和远程仓库名称是一样的。
查看当前本地git仓库状态
接下来,假如A通信在gitlab上的这个仓库中又新增了一个文件b.txt,那现在gitlab远程仓库中有三个文件(现在本地仓库中的文件和远程仓库中的不一样了)。
接下来,我们在本地继续我们的开发工作,假如新建了一个文件“c.txt”,现在,让我们来把"c.txt"文件加入暂存区,然后commit到本地仓库,这时,我们想把刚才的工作成果再push到远程,执行如下:
报错了。懂点英文的同学可以从提示信息看出问题所在,因为我们的远程已经有更新了,我们在push到远程的时候,必须先把远程的改动拉到本地合并起来,才能再次提交我的修改。所以,以下的命令就出场了:
该指令意思是从远程origin仓库的master主分支更新最新的版本到origin/master分支上。
然后我们比对下当前本地master分支和origin/master分支的区别:
执行的回显结果会详细列出这两个分支的差异。
然后,我们需要把origin/master分支上的内容合并到本地master分支:
执行该指令后,可能会要求输入合并的理由,填写后,我们就合并成功了。这个时候,我们就可以再次push了:
表示push成功,现在你可以去github上看到我们在本地新建的b.txt文件啦!
注意:有同学可能查了网上的资料,说“git fetch”和“git merge”指令可以合二为一,叫“git pull”,在此强烈建议大家使用分开的指令,因为“git pull”会直接合并,而不会等你确认,如果一旦合并错了,还是比较麻烦的。宁可慢一点,也别重头再来。
其他一些命令
a) 列出所有远程主机
b) 使用-v选项,参看远程主机的网址
上面命令标识当前只有一台远程主机,叫origin,以及它的网址
c) 查看本地仓库状态