首页 > 代码库 > GIT

GIT

第一步:设置全局变量:

[plain] view plain copy
 
  1. git config --global user.name "gang.li"  
  2. git config --global user.email "ligang@ptthink.com"  

第二步:初始化仓库,并推送到远程仓库(如果第一次推送执行此步骤,否则跳过此步骤):

[plain] view plain copy
 
  1. /* 创建项目文件夹,并初始化仓库 */  
  2. mkdir test  
  3. cd test  
  4. git init  
  5. /* 新增README文件,并提交*/  
  6. touch README  
  7. git add README  
  8. git commit -m ‘first commit‘  
  9. /* 关联远程仓库,并推送 */  
  10. git remote add origin git@git.*.jp:gitlab/test.git  
  11. git push -u origin master  

第三步:克隆远程主机项目到本地,并建立对应分支

[plain] view plain copy
 
  1. git clone git@git.*.jp:gitlab/test.git  
  2. git checkout -b develop  
  3. git branch --set-upstream develop origin/develop(git branch --set-upstream-to=origin/develop develop)  

第四步:增删操作,并推送到指定远程分支

[plain] view plain copy
 
  1. /* 删除文件(git rm 本地文件并不会被删除) */  
  2. git rm -rf target  
  3. git add .  
  4. git commit -m "claer"  
  5. git push origin develop  

第五步:合并分支:

[plain] view plain copy
 
  1. /* 查看所有分支 */  
  2. git branch -r/-a  
  3. /* 合并develop到master分支 */  
  4. git checkout master  
  5. git merge --no-ff develop  
  6. git push origin master  

默认情况下,Git执行"快进式合并"(fast-farward merge),会直接将Master分支指向Develop分支。使用--no-ff参数后,会执行正常合并,在Master分支上生成一个新节点。

一、从远程主机克隆一个版本库

(1)git clone <版本库的网址>
(2)克隆版本库的时候,所使用的远程主机自动被Git命名为Origin。如果想用其他的主机名,使用-o指定:
git clone -o jQuery https://github.com/jquery/jquery.git

二、远程主机管理

为了便于管理,Git要求每个远程主机必须指定一个主机名。
(1)列出所有远程主机:git remote
(2)查看远程主机网址:git remote -v
(3)查看主机详细信息:git remote show origin
(4)添加远程主机:git remote add <主机名> <网址>
(5)删除远程主机:git remote rm <主机名>
(6)重命名远程主机:git remote rename <主机名> <网址>

三、取回本地

(1)全部取回本地,不自动合并:git fetch <远程主机名> <分支名>
(2)取回远程主机某个分支的更新,再与本地的指定分支合并:git pull <远程主机名> <远程分支名>:<本地分支名>
取回origin主机的next分支,并与本地的master分支合并:git pull origin next:master
如果远程分支与当前分支合并,则冒号后面的部分可省略:git pull origin next
(2)手动建立追踪关系:git branch --set-upstream master origin/next
PS:git pull origin next  等价于:git fetch origin   git merge origin/next 

四、推送到远程

(1)将本地分支的更新,推送到远程主机:git push <远程主机名> <本地分支名>:<远程分支名>
(2)如果省略远程分支名,则表示将本地分支推送与之存在”追踪关系”的远程分支(通常两者同名),如果该远程分支不存在,则会被新建:git push origin develop
(3)如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支:
git push origin :master
等价于:git push origin --delete master(删除origin主机的master分支:git push
(4)如果当前分支只有一个追踪分支,那么主机名都可以省略:git push
注意,分支推送顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>。

五、其他命令

(1)gitk:打开图形化界面
(2)git --help

(3)Git merge --help

GIT