一、拉服务器的代码
1.进入git bash工作目录
2.切换目录到工作目录 cd F:
3.拉服务器dev代码到本地: git clone [url]
二、创建自己编辑代码的分支,并提交本地缓存修改到本地仓库
1.创建一个远程目录不存在的分支shuxiaotao(名称最好用与服务器不一致的名称),在不重要的分支上面编辑代码,git branch name,创建一个分支,但是不切换到该分支。(git checkout branch-name)
(创建一个dev的分支,并切换到该分支:git checkout -b dev)
2.将修改从暂存区提交到当前分支的本地版本库,常用命令:
a. git add test.txt #从缓存区提交test.txt到本地仓库
b. git add . #从缓存区提交所有修改文件到本地仓库
c. git commit -m “remark” #确认提交修改到本地仓库
d. git log #查看提交的版本及详情
e. git status #查看当前缓存区数据的修改详情
3.合并本地分支代码到本地分支dev:切换工作目录到本地分支dev,git merge shuxiaotao,将shuxiaotao分支的修改合并到本地dev上面。(合并代码后可以删除分支:git branch -d shuxiaotao,删除shuxiaotao分支)
三、提交本地仓库代码到远程服务器
1.git push推送本地仓库代码到远程仓库:
1.git push的一般形式为 git push <远程主机名> <本地分支名> :<远程分支名>,如 git push origin master:refs/for/master ,表示将本地master分支的代码提交到远程仓库的refs/for/master分支。(推荐使用的push命令!!!)常用命令:
a. git branch #查看本地所有分支
b. git branch -r #查看远程所有分支
2.git push <远程主机名> <本地分支名> ,如git push origin dev,表示将本地dev分支的代码推送到远程仓库dev分支,如果不存在dev分支就新建远程仓库的dev分支。(如果本地分支与远程仓库的某个分支关联,就推送到关联的分支)
3.git push <远程主机名> :<远程分支名>,如 git push origin :refs/master,如果忽略本地分支名,表示删除指定的远程分支,因为这等同于对送一个空的本地分支到远程分支,等同于 git push origin –delete master。(这个命令慎用!!!!!)
4.git push <远程主机名>,如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支
5.git push,如果当前分支只有一个远程分支,那么主机名可以省略,如果当前分支与远程分支存在追踪关系,将当前分支推送到origin主机的对应分支
四、获取远程仓库最新版本到本地仓库
1.fetch方式获取最新版本并合并代码(推荐使用!!!):
1.1、fetch方式1:
a.git fetch <远程主机名> <远程分之名>:<本地新建分支名> ,如git fetch origin master:tmp,表示从远程仓库master分支获取最新数据,在本地建立tmp分支
b.git diff tmp,切换到想要合并的分支下,将当前分支与tmp分支对比
c.git merge tmp,切换到想要合并的分支下,合并tmp分支到当前分支
d.git branch -d tmp,合并代码后,如果不想保留临时分支,可以删除该临时分支
1.2、fetch方式2:
a. git fetch orgin master #将远程仓库的master分支下载到本地origin/master分支上
b. git log -p master ..origin/master #比较本地的master分支和origin/master分支 的差别
c. git merge origin/master #进行合并origin/master分支代码到本地分支上
2.git pull方式拉取远程代码到本地:
a:git pull origin master:shuxiaotao (将远程仓库的master数据拉到本地的shuxiaotao分支)
b: git pull origin master (将远程仓库的master分支数据拉到本地的当前分支上)
c:git pull (本地分支拉取远程仓库关联的分支数据)
如何连接关联关系:
A.创建分支的时候就创建关联关系:git checkout -b shuxiaotao origin/dev (创建新的本地分支shuxiaotao,并将本地分支shuxiaotao与远程仓库的dev分支关联起来)
B.建立本地分支和远程分支的关联,使用git branch –set-upstream branch-name origin/branch-name (指定本地的分支与指定的远程分支关联);或者使用git branch –set-upstream-to=<remote_branch> (将本地当前分支与远程指定分支关联)
C.提交时配置关联关系:git push -u origin <remote_branch> (推送代码时将本地分支与远程指定的分支关联起来) 或git push –set-upstream origin <remote_branch>
辅助命令:
1.git remote:查看当前配置有哪些远程仓库