gitlab基本的命令


1) 遠程倉庫相關命令
檢出倉庫:$  git clone  git://github.com/jquery/jquery. git
查看遠程倉庫:$  git remote -v
添加遠程倉庫:$  git remote add [name] [url]
刪除遠程倉庫:$  git remote rm [name]
修改遠程倉庫:$  git remote set-url -- push[name][newUrl]
拉取遠程倉庫:$  git pull [remoteName] [localBranchName]
推送遠程倉庫:$  git push [remoteName] [localBranchName]
 
2)分支(branch)操作相關命令
查看本地分支:$  git branch
查看遠程分支:$  git branch -r
創建本地分支:$  git branch [name] ----注意新分支創建后不會自動切換為當前分支
切換分支:$  git checkout [name]
創建新分支並立即切換到新分支:$  git checkout -b [name]
刪除分支:$  git branch -d [name] ---- -d選項只能刪除已經參與了合並的分支,對於未有合並的分支是無法刪除的。如果想強制刪除一個分支,可以使用-D選項
合並分支:$  git merge [name] ----將名稱為[name]的分支與當前分支合並
創建遠程分支(本地分支 push到遠程):$  git push origin [name]
刪除遠程分支:$  git push origin :heads/[name]

我從master分支創建了一個issue5560分支,做了一些修改后,使用git push origin master提交,但是顯示的結果卻是'Everything up-to-date',發生問題的原因是git push origin master 在沒有track遠程分支的本地分支中默認提交的master分支,因為master分支默認指向了origin master 分支,這里要使用git push origin issue5560:master 就可以把issue5560推送到遠程的master分支了。

    如果想把本地的某個分支test提交到遠程倉庫,並作為遠程倉庫的master分支,或者作為另外一個名叫test的分支,那么可以這么做。

git push origin test:master         // 提交本地test分支作為遠程的master分支 //好像只寫這一句,遠程的github就會自動創建一個test分支
git push origin test:test              // 提交本地test分支作為遠程的test分支

如果想刪除遠程的分支呢?類似於上面,如果:左邊的分支為空,那么將刪除:右邊的遠程的分支。

git push origin :test              // 剛提交到遠程的test將被刪除,但是本地還會保存的,不用擔心
3)版本(tag)操作相關命令
查看版本:$  git tag
創建版本:$  git tag [name]
刪除版本:$  git tag -d [name]
查看遠程版本:$  git tag -r
創建遠程版本(本地版本 push到遠程):$  git push origin [name]
刪除遠程版本:$  git push origin :refs/tags/[name]
 
4) 子模塊(submodule)相關操作命令
添加子模塊:$  git submodule add [url] [path]
如:$  git submodule add  git://github.com/soberh/ui-libs. git src/main/webapp/ui-libs
初始化子模塊:$  git submodule init ----只在首次檢出倉庫時運行一次就行
更新子模塊:$  git submodule update ----每次更新或切換分支后都需要運行一下
刪除子模塊:(分4步走哦)
1)$  git rm --cached [path]
2) 編輯“.gitmodules”文件,將子模塊的相關配置節點刪除掉
3) 編輯“. git/config”文件,將子模塊的相關配置節點刪除掉
4) 手動刪除子模塊殘留的目錄
 
5)忽略一些文件、文件夾不提交
在倉庫根目錄下創建名稱為“.gitignore”的文件,寫入不需要的文件夾名或文件,每個元素占一行即可,如
target
bin
*.db
 
2. git pull:相當於是從遠程獲取最新版本並merge到本地

git pull origin master

 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

git遠程分支關聯的一種方法

github上已經有master分支 和dev分支

在本地

git checkout -b dev 新建並切換到本地dev分支

git pull origin dev 本地分支與遠程分支相關聯

在本地新建分支並推送到遠程

git checkout -b test

git push origin test   這樣遠程倉庫中也就創建了一個test分支

 ================================================================================================================

作者:Color
鏈接:https://www.zhihu.com/question/21995370/answer/19975870
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

1. 克隆代碼
git clone https://github.com/master-dev.git  
# 這個git路徑是無效的,示例而已
2. 查看所有分支
git branch --all  
# 默認只有master分支,所以會看到如下兩個分支
# master[本地主分支] origin/master[遠程主分支]
# 新克隆下來的代碼默認master和origin/master是關聯的,也就是他們的代碼保持同步
3. 創建本地新的dev分支
git branch dev  # 創建本地分支
git branch  # 查看分支
# 這是會看到master和dev,而且master上會有一個星號
# 這個時候dev是一個本地分支,遠程倉庫不知道它的存在
# 本地分支可以不同步到遠程倉庫,我們可以在dev開發,然后merge到master,使用master同步代碼,當然也可以同步
4. 發布dev分支
發布dev分支指的是同步dev分支的代碼到遠程服務器
git push origin dev:dev  # 這樣遠程倉庫也有一個dev分支了
5. 在dev分支開發代碼
git checkout dev  # 切換到dev分支進行開發
# 開發代碼之后,我們有兩個選擇
# 第一個:如果功能開發完成了,可以合並主分支
git checkout master  # 切換到主分支
git merge dev  # 把dev分支的更改和master合並
git push  # 提交主分支代碼遠程
git checkout dev  # 切換到dev遠程分支
git push  # 提交dev分支到遠程
# 第二個:如果功能沒有完成,可以直接推送
git push  # 提交到dev遠程分支
# 注意:在分支切換之前最好先commit全部的改變,除非你真的知道自己在做什么
6. 刪除分支
git push origin :dev  # 刪除遠程dev分支,危險命令
# 下面兩條是刪除本地分支
git checkout master  # 切換到master分支
git branch -d dev  # 刪除本地dev分支
 -------------------------------------------------------------------------------------------------------------------------------------------------------
今天真是崩潰的,由於之前的同事各自作戰,一個只在master提交代碼,一個只在developer上提交,兩人各自做各自的,今天我去合並代碼,我的老天爺,一堆沖突,算了,不玩了,我想了半天想到的是我把他們的master和developer down到本地,不合並了,不然沒法玩下去了,等找好代碼之后再說。
1.然后先去pull了master到本地,
2.接着創建了develop本地,然后與remote關聯  git branch --set-upstream-to origin/dev dev 
3.想直接 git pull origin dev:dev 結果發現不行,因為遠程的dev和遠程的master八百年沒有打交道了,一堆沖突。
4. get pull一下發現報出沖突原因,想清楚了,不合並了。
5.git reset --hard origin/dev 直接將其隔離

Git pull error: Your local changes to the following files would be overwritten by merge: git reset --hard origin/dev 直接將其解決 

這里再說一下可以使用 

  1. git fetch origin develop  
  2. git checkout develop 
  3. git merge origin/develop代替上述的方法,防止沖突發生。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM