【Git 】命令總結記錄

之前都是用TortoiseGit 提交代碼到GitHub,發現會遇到各種問題,沒有直接在git Bash中操作方便, 用到了一些git命令,做一下記錄。

一、提交代碼

1、提交代碼到本地庫中
git commit -m '描述內容'
2、拉取該分支下的內容,與自己在本地庫改寫的合併
git pull origin <分支名稱>
3、提交代碼到github上
git push origin <分支名稱>

二、合併代碼

1、查看所有分支(其中帶 * 號的:當前使用分支)
git branch -a
2、切換分支
git checkout <分支名稱>
3、合併某分支到當前分支:
git merge <分支名稱> : 把develop 合併到master–> git merge develop
4、提交合並的代碼 :
git pull :拉取當前倉庫的代碼
git push origin <分支名稱> 合併提交 到主分支上

other

用到的git命令:

創建分支:

git branch <分支名稱>

查看所有分支

git branch -a

切換分支

git checkout <分支名稱>

合併某分支到當前分支:

git merge <分支名稱>

創建+切換分支:

git checkout -b <分支名稱>

撤銷 / 回滾

在本地
git log --oneline -n10
git  reset --hard <commit id>
git push -f

https://blog.csdn.net/ligang2585116/article/details/71094887

刪除分支(遠程/本地)

https://blog.csdn.net/qq_32452623/article/details/54340749

儲藏(Stashing)

應用場景: 當你正在進行項目中某一部分的工作,裏面的東西處於一個比較雜亂的狀態,而你想轉到其他分支上進行一些工作。問題是,你不想提交進行了一半的工作,否則以後你無法回到這個工作點。解決這個問題的辦法就是git stash命令。

https://git-scm.com/book/zh/v1/Git-%E5%B7%A5%E5%85%B7-%E5%82%A8%E8%97%8F%EF%BC%88Stashing%EF%BC%89

刪除本地修改

1. git clean -df
2. git reset --hard
第一個命令只刪除所有untracked的文件,如果文件已經被tracked, 修改過的文件不會被回退。
而第二個命令把tracked的文件revert到前一個版本,對於untracked的文件(比如編譯的臨時文件)都不會被刪除。
--------------------- 
作者:王的璋 
來源:CSDN 
原文:https://blog.csdn.net/qilvmilv/article/details/53559939 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

git pull => git fetch && git merge

Git global setup

git config --global user.name "<用戶名>"
git config --global user.email "<郵箱>"

Create a new repository

git clone git@<服務器地址>: <目錄路徑>/website.git
cd website
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Existing folder

cd existing_folder
git init
git remote add origin git@<服務器地址>: <目錄路徑>/website.git
git add .
git commit -m "Initial commit"
git push -u origin master

Existing Git repository

cd existing_repo
git remote rename origin old-origin
git remote add origin git@<服務器地址>: <目錄路徑>/website.git
git push -u origin --all
git push -u origin --tags

強制合併某個遠程分支

git fetch --all
git reset --hard origin/master (這裏master要修改爲對應的分支名)

拉取 遠程倉庫中 dev 分支上的代碼

git clone xxxxxxx/test.git
cd test
git pull origin dev

刪除 本地分支

查看項目的分支們(包括本地和遠程) 
命令行 : $ git branch -a     例如,$ git branch -a 

先切換到已有的一個分支,再刪除本地分支 
命令行 : $ git branch -d <BranchName>

在本地BranchA上修改的內容,切換到 本地BranchB 上

## 方法一:(推薦)
1. 在 BranchA 先儲藏
$ git stash

2. 切換到 BranchB
$ git checkout B

3. 在 BranchB 上彈出 儲藏內容
$ git stash pop 

## 方法二:
1. 不在 BranchA 上 git commit 
2. 在 BranchA 上 新建 BranchB
  $ git checkout -b BranchB

3. 切換到 BranchB
  $ git checkou BranchB
  這時候 修改的內容在 BranchA 和 BranchB 上都有 

4. 在 BranchB 上 commit 
  $ git commit -a 
  修改保留在 BranchB 上

5. 切換到 BranchA 
  BranchA 上沒有保留修改的內容

在master分支合併特定分支的某一次提交記錄

場景:feature分支上的Commit 62ecee非常重要,它含有一個bug的修改,或其他人想訪問的內容。無論什麼原因,你現在只需要將62ecee 合併到master,而不合並feature上的其他commits,所以我們用git cherry-pick命令來做:

1. 查看 特定分支branchA 上的 commit 歷史記錄
$ git checkout branchA
$ git log 
  commit 62ecee 

2. 切換至master 分支
$ git checkout master

3. 合併 提交記錄  62ecee 
$ git cherry-pick 62ecee  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章