之前都是用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