Git常用命令

Git常用命令

推薦使用 msysgit + tortoisegit 或 msysgit + sourcetree,文末附有下載地址

添加SSH KEY 到github

    http://jingyan.baidu.com/article/a65957f4e91ccf24e77f9b11.html

創(chuàng)建git資源庫

git init --bare 庫名稱

在用戶文件夾下把資源clone下來

git clone <倉庫目錄> /g/software/repository/git/itheima <用戶目錄> .
注意:clone時候用戶目錄必須為空

創(chuàng)建一個文件,納入到版本控制中。

git add <文件名>
第一次執(zhí)行會出警告:warning: LF will be replaced by CRLF in readme.txt.
            The file will have its original line endings in your working directory.
警告處理:需要配置用戶信息
                git config user.name = "zhangsan"
                git config user.email = "itheima@gmail.com"
git add -A:全部添加
git add . :全部添加

注:Git全局配置和單個倉庫的用戶名郵箱配置
配置一個全局的用戶名和郵箱
git config --global user.name “you name”
git config --global user.email "your email"
git config --list
如果你公司的項目是放在自建的gitlab上面, 如果你不進行配置用戶名和郵箱的話, 則會使用全局的, 這個時候是錯誤的, 正確的做法是針對公司的項目, 在項目根目錄下進行單獨配置
git config user.name “your gitlab’s Name”
git config user.email "your gitlab's email"
git config --list
git config --list查看當(dāng)前配置, 在當(dāng)前項目下面查看的配置是全局配置+當(dāng)前項目的配置, 使用的時候會優(yōu)先使用當(dāng)前項目的配置

提交到本地版本庫里。

git commit <文件名>

git commit -m "提交信息"

推送到遠程共享版本庫中

git push origin master
其中,origin 不用變,master是你要推送到的遠程分支,如果不知道遠程分支名字,可以執(zhí)行g(shù)it branch -va 查看所有的遠程分支,然后直接copy就行

git push origin HEAD:feature/cangui-qianfan-ticketid

拉取最新的文件

git pull origin master
提示出錯信息:fatal: remote origin already exists.
    解決辦法如下:輸入$ git remote rm origin

查看當(dāng)前所在分支

  git branch

新建分支

  git branch 【分支名】

切換到其他分支

  git checkout 【分支名】

新建一條分支并切換到新分支

  git checkout -b 【分支名】:

合并分支

  git merge 【分支名】  (這里是:git merge bug   將當(dāng)前分支和bug分支合并)

合并某個提交

  git cherry-pick commitId(commitId對應(yīng)到另外一個提交的id,如果沒有沖突的話,會主動執(zhí)行commit操作)

合并多個提交

  git cherry-pick commitid1..commitid100(不包含commitid1)
  git cherry-pick commitid1^...commitid100(包含commitid1)

刪除分支

 git branch -d 【分支名】:刪除分支

查看分支狀態(tài)

  git status:

查看合并分支

  git branch --merged   查看與當(dāng)前分支合并了的分支

合并

  git branch --no-merged  查看與當(dāng)前分支沒有合并的分支

提交到遠程

  將本地的today分支推送到Github上,輸入:git push origin today,這樣就在遠程庫創(chuàng)建了today分支

提交代碼

  git push 【遠程庫名】【本地分支名】:【遠程分支名】
  如將本地的write分支推送到一個名為read的分支上,輸入:git push origin write:read

刪除分支

  將不需要的遠程分支刪除掉,輸入命令:git push 【遠程庫名】 :【遠程分支名】  
  如,將遠程的read分支刪除,輸入:git push origin :read

忽略文件

  echo "bin.ddl" >> .gitignore : 創(chuàng)建一個.gitignore的文件夾,并將bin.dll作為內(nèi)容輸入。
  .gitignore里面包含的文件名字在commit或者add的時候都會被忽略

git 文件的三個狀態(tài)

  working directory  staging area  git directory  
  工作區(qū)   add(臨時區(qū))   commit(傳到本地的版本倉庫)

git diff

  git diff --cached:  比較臨時區(qū)和本地倉庫的區(qū)別       
  git diff --staged: 比較工作區(qū)和臨時區(qū)域的差別。同 git diff

打tag

  git tag -a "名字" -m "tag信息"

從遠程分支開出本地分支并關(guān)聯(lián)

    git checkout -b  dev origin/dev   創(chuàng)建本地分支dev,并且和遠程origin/dev分支關(guān)聯(lián),本地dev分支的初始代碼和遠程的dev分支代碼一樣 

將本地分支跟遠程分支關(guān)聯(lián)

  git branch --set-upstream-to=origin/master master    上面的命令是把origin代表的遠程庫的master分支和本地的master分支關(guān)聯(lián)起來

查看本地分支對應(yīng)的遠程分支

    git branch -vv

回滾

 把本地master代碼回撤到某個提交點之前,git reset -q –hard commid-id

合并master的代碼rebase

  git pull --rebase <遠程主機名> <遠程分支名>
  git pull --rebase  origin next  就是代表將遠程next 分支的代碼合并回你的本地分支

相關(guān)學(xué)習(xí)資料

1、在線練習(xí)網(wǎng)址:https://learngitbranching.js.org
2、Git Rebase: http://blog.csdn.net/hudashi/article/details/7664631/
3、中文教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

軟件地址

sourcetree: https://www.sourcetreeapp.com/
msysgit: https://git-for-windows.github.io/
tortoisegit: https://tortoisegit.org/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。