1.查看本地分支
$ git branch
* br-2.1.2.2
master
2.查看遠程分支
$ git branch -r //查看遠端分支
origin/HEAD -> origin/master
origin/feature/IOS_visualtrack
origin/feature/android_visualtrack
origin/master
3.查看所有分支
$ git branch -a
* br-2.1.2.2
master
remotes/origin/HEAD -> origin/master
remotes/origin/br-2.1.2.1
remotes/origin/br-2.1.2.2
remotes/origin/br-2.1.3
remotes/origin/master
注意: git branch -r 無法獲取遠程分支,ui可以看見分支但是git 命令無法查看
原因 git branch -a 這條命令並沒有每一次都從遠程更新倉庫信息,我們可以手動更新一下
4.切換遠程分支
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/Release
remotes/origin/master
PS: 作用是checkout遠程的Release分支,在本地起名爲myRelease分支,並切換到本地的myRelase分支
5.合併分支
合併前要先切回要併入的分支
以下表示要把issue1234分支合併入master分支
$: git checkout master
$: git merge issue1234
Merge made by recursive.
README | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
6.撤消上一次commit的內容(該操作會徹底回退到某個版本,本地的源碼也會變爲上一個版本的內容)
git reset --hard <commit-id>
7. git commit -m 註釋換行
git commit -m 註釋可以通過單引號來換行,比如:
$ git commit -m '
> 1.aaaaa
> 2.bbbb
> '
[master b25154b] 1.aaaaa 2.bbbb
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 ss.txt
通過git commit --amend 命令可以查看到剛剛的log信息爲
1.aaaaa
2.bbbb
8.git clone --depth=1時的一些問題
當項目過大時,git clone時會出現error: RPC failed; HTTP 504 curl 22 The requested URL returned error: 504 Gateway Time-out的問題,
解決方法很簡單,在git clone時加上--depth=1即可解決:depth用於指定克隆深度,爲1即表示只克隆最近一次commit.
git clone [email protected]/managerzp.git --depth=1
這種方法克隆的項目只包含最近的一次commit的一個分支,體積很小,即可解決文章開頭提到的項目過大導致Timeout的問題,但會產生另外一個問題,他只會把默認分支clone下來,其他遠程分支並不在本地,所以這種情況下,需要用如下方法拉取其他分支:
$ git clone --depth 1 https://github.com/dogescript/xxxxxxx.git
$ git remote set-branches origin 'remote_branch_name'
$ git fetch --depth 1 origin remote_branch_name
$ git checkout remote_branch_name