之前使用过svn,感觉gie应该是一样的,没什么不同的,但是实际开始使用的时候,就发现git和svn的区别很大,他们的理念是不一样的,导致操作有些难以理解,终于经过一天的资料查询与实验,理解了git的使原理,所以将一些操作步骤记录下来。
1.拉取仓库到本地
git clone URL
2.创建一个分支,并且切换到分支下面
git checkout -b breanchNameXXX
3.查看当前所属分支
git breach -vv
4.查看远程分支
git branch -a
5.将本地分支推到远程分支上
git push origin linux_client_data_firewall_cjw:data_firewall_cjw
6.删除本地分支
git branch -d XXXXXX
7.切换本地分支
git checkout XXXXXX
8.将远程分支的代码拉取到本地分支上
git pull origin data_firewall_cjw:linux_client_data_firewall_cjw
建立追踪关系的,可以省略远程分支名,例如
git pull origin master
git pull
以下是一些示例 -
$ git pull <远程主机名> <远程分支名>:<本地分支名>
Shell
比如,要取回origin主机的next分支,与本地的master分支合并,需要写成下面这样 -
$ git pull origin next:master
如果远程分支(next)要与当前分支合并,则冒号后面的部分可以省略。上面命令可以简写为:
$ git pull origin next
如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名。
$ git pull origin
9.将本地修改提交到本地服务器
git commint -m "XXX"
10.将本地修改加入到本地服务器
git add XXXXXX
将工作区有变化的提交到暂存区,不包括删除文件
git add .
将已经add的文件提交到暂存区,不会添加新文件
git add -u
将所有变化提交到暂存区
git add -A
11.查看git状态
git staus
12.撤销修改文件
git checkout -- file
13.拉取远程仓库的指定分支到本地(本地不存在该分支)
git checkout -b 本地分支名 origin/远程分支名
14.删除文件操作
git rm file.name
git commit -m "rm file.name"
git push origin linux_client_data_firewall_cjw:data_firewall_cjw
A1代码提交流程需要以下几个步骤:
git add XXXXXX
git commint -m "XXX"
git push origin linux_client_data_firewall_cjw:data_firewall_cjw
A2主干同步到分支
切换到本地仓库,更新到最新代码
切换到要同步的分支 运行
git merge master
A3git冲突解决方法
git pull master
git入门需要了解的概念:
1.git的服务器库和本地库是分离开来的,不能说服务器上创建了一个分支版本,在本地直接拉取分支版本,在分支上进行修改。
本地创建的时候需要1.先将主线的代码拉到本地,2.在本地的主线上建立分支3.在本地分支上修改代码之后,再推到远程分支上,以完成合并。
2.当切换分支时,如果本地代码有修改,需要将本地的代码先提交到远程分支,之后才能切换到其他分支,git checkout master
3.切换到本地master分支,然后执行git pull,拉取版本库最新代码,日过是版本库的覆盖本地的代码,则先git reset,将有改变的文件还原,再pull
4.如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:git stash
git pull
git stash pop
然后可以使用git diff -w +文件名 来确认代码自动合并的情况.
5.本地的master和分支是两个空间,虽然在同一个目录,但是里面的内容是不一样的,所以操作修改代码的时候,要注意目录的区分
操作流程:
查看当前在那个分支下
git branch -a
1.先切换到本地master
git checkout master
2.拉取代码库最新的代码到master
git pull
3.切换到本地branch
git checkout linux_client_data_firewall_cjw
3.本地master同步到branch
git merge master / git pull master
4.添加修改修改文件到版本库
git add -u file.name
5.提交修改文件到版本库
git commit -m "file.name"
6.push本地修改到分支仓库
git push origin linux_client_data_firewall_cjw:data_firewall_cjw