github經常使用使用命令

1、git設置

設置用戶名與郵箱git

git config --global user.name "My Name"
git config --global user.email "my@email.com"

上面設置命令中帶了「–global"參數,是全局配置,影響本機上全部的git項目。也能夠對一些單獨的項目進行設置,進入要設置的項目目錄,進行設置:github

cd dir
git config user.name "My Name"
git config user.email "my@email.com"

查看配置:緩存

cat .git/config

2、建立git倉庫及操做

建立git倉庫:服務器

mkdir project
cd project
git init #在當前的目錄下建一個倉庫

檢出倉庫:併發

git clone git@server:app.git myrepo

查看遠程倉庫:app

$ git remote -v

添加遠程倉庫:fetch

$ git remote add [name] [url]

刪除遠程倉庫:this

$ git remote rm [name]


git push origin master

3、更改代碼的操做

更新本地代碼到最新版本(須要merge才能合到本地代碼中):url

git fetch

合併更新後的代碼到本地:日誌

git merge

更新代碼方式的另外一種方法(git pull是git fetch和git merge命令的一個組合):

git pull

修改代碼後,查看已修改的內容:

git diff --cached

將新增長文件加入到git中:

git add file1 file2 file3

全部文件所有加入到git中:

git add .

從git中刪除文件:

git rm file1
git rm -r dir1

提交修改:

git commit -m 'this is memo'

若是想省掉提交以前的 git add 命令,能夠直接用:

git commit -a -m 'this is memo'

commit和commit -a的區別, commit -a至關於:
第一步:自動地add全部改動的代碼,使得全部的開發代碼都列於index file中
第二步:自動地刪除那些在index file中但不在工做樹中的文件
第三步:執行commit命令來提交

提交全部修改到遠程服務器,這樣,其它團隊成員才能更新到這些修改

git push

4、git 分支(branch)操做

建立dev分支:

git branch dev

查看項目倉庫中有幾個分支:

git branch

//*號爲當前所在分支
  dev
* master

分支切換:

//切換到dev分支
git checkout dev

查看master分支和dev分支差別:

git diff dev

合併dev分支到master分支(若是合併發生衝突,須要本身解決衝突):

git merge branchname

解決衝突:

當merge命令自身沒法解決衝突的時候,它會將工做樹置於一種特殊的狀態,而且給用戶提供衝突信息,以期用戶能夠本身解決這些問題。固然在這個時候,未發生衝突的代碼已經被git merge登記在了index file裏了。若是你這個時候使用git diff,顯示出來的只是發生衝突的代碼信息。

在你解決了衝突以前,發生衝突的文件會一直在index file中被標記出來。這個時候,若是你使用git commit提交的話,git會提示:filename.txt needs merge

在發生衝突的時候,若是你使用git status命令,那麼會顯示出發生衝突的具體信息。

在你解決了衝突以後,你可使用以下步驟來提交:

第一步(若是須要增長文件):

git add file1

第二步:

git commit

刪除dev分支:

git branch -d dev

若是要刪除的分支沒有被合併到其它分支中去,那麼就不能用「git branch -d」來刪除它,須要改用「git branch -D」來強制刪除。

將分支推送到遠端倉庫:

git push origin <branch>

刪除遠程分支:

git push origin --delete <branch>

5、打標籤

git能夠對某一時間點上的版本打上標籤。如在發佈某個軟件版本(好比 v0.1等),能夠打版本標籤。

列出已有的標籤:

git tag

打標籤:

git tag -a v0.1 -m 'tag version 0.1'

把本地tag推送到遠程:

git push --tags

刪除tag:

git push origin --delete tag <tagname>

6、其它經常使用命令

顯示commit日誌:

git log

不只顯示commit日誌,並且同時顯示每次commit的代碼改變:

git log -p

查看當前倉庫的狀態:

git status

回滾代碼:

git revert HEAD

你也能夠revert更早的commit,例如:

git revert HEAD^

銷燬本身的修改

git reset --hard

查看最新版本和上一個版本的差別(一個^表示向前推動一個版本)

git diff HEAD HEAD^

git取消已經緩存的文件(慎用):

git reset

git恢復刪除了的文件,git pull 從git服務器取出,而且和本地修改merge, 相似於SVN up,可是對刪除的文件無論用,恢復刪除文件用

git checkout -f

7、githubb備忘

Global setup:
  Download and install Git
  git config --global user.name "imbingdian"
  git config --global user.email imbingdian@gmail.com

Next steps:
  mkdir projectname
  cd projectname
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:bingdian/projectname.git
  git push -u origin master

Existing Git Repo?
  cd existing_git_repo
  git remote add origin git@github.com:bingdian/projectname.git
  git push -u origin master
相關文章
相關標籤/搜索