經常使用的git指令以及操做

1.經常使用的git應用

sourcetree、Forkhtml

2.經常使用的git指令

首先進入到目錄下讓,而後使用下面命令初始化gitgit

git initgithub

添加文件服務器

git add 文件名 //提交某個文件ssh

git add . //提交全部更改gitlab

git commit -m "本次提交備註" //提交到本地倉庫 git status查看當前提交的信息狀態url

git branch 查看當前git分支列表,也能看到當前的分支htm

git checkout -b dev 建立一個新的分支,名稱爲dev,並切換到該分支ip

git checkout master 切換到master分支,只能切換到已經存在的分支開發

git checkout dev 切換到dev分支

git log 查看最近提交記錄信息

合併分支(不能在當前分支合併當前分支)

git merge dev //講dev分支合併到當前分支,注意若是要合併到一個分支到另外一個分支,請先切換分支到另外一個分支例如:開發新功能分支dev, 原始分支master,要發佈一個版本,合併版本,先切換到master分支,在合併dev分支:1 git checkout master 2 git merge dev

刪除分支(不能刪除當前分支)

git branch -d dev //刪除dev的分支,這種只能刪除沒有提交的git分支

git branch -D dev //強制刪除dev分支,已經提交的Git分支也能刪除

回退操做,假如和平代碼衝突了,能夠用這個

git revert 是撤銷某次操做,這次操做以前的commit都會被保留

git reset 是撤銷某次提交,可是這次以後的修改都會被退回到暫存區

查看某次commit的改動

git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e

便可顯示具體的某次commit的改動~

git show c5e69804bbd9725b5dece57f8cbece4a96b9f80b filename

只看某次提交中的某個文件變化,能夠直接加上fileName

鏈接到遠端

注意後面是Git倉庫名稱,能夠是https的,也能夠是ssh的

Git 使用命令推送到遠程倉庫

git remote add origin git@github.com:Marshal-S/LSWebView.git

git push -u origin master //將本地的master分支推送到origin主機,同時指定origin爲默認主機,後面就能夠不加任何參數使用git push了

git push origin master //默認推送到遠程倉庫的方式,不作任何設置

如何把現有的倉庫內容推送到另一個倉庫

首先更改url

git remote set-url --add origin git@github.com:Marshal-S/LSWebView.git

而後推送

git push origin master

//查詢當前遠程的版本

$ git remote -v

//直接拉取併合並最新代碼

$ git pull origin master [示例1:拉取遠端origin/master分支併合併到當前分支]

$ git pull origin dev [示例2:拉取遠端origin/dev分支併合併到當前分支]

從本地提交代碼到服務器

$ git push origin dev [示例2:將當前分支提交到遠端origin/dev分支]

git從倉庫中導出某一個版本

git archive -o ../../publish/a2.zip(目標路徑以及文件包名) 31d0104(當前版本)

設置忽略文件gitignore

在倉庫目錄下新建一個名爲.gitignore的文件

以'#'開始的行,被視爲註釋.

忽略掉全部文件名是 project.txt的文件.

project.txt

忽略全部生成的 html文件,

*.html

project.html是手工維護的,因此例外.

!project.html

忽略全部.o和 .a文件.

*.[oa]

配置語法:

以斜槓「/」開頭表示目錄;

以星號「*」通配多個字符;

以問號「?」通配單個字符

以方括號「[]」包含單個字符的匹配列表;

以歎號「!」表示不忽略(跟蹤)匹配到的文件或目錄;

經常使用的規則:

/mtk/ 過濾整個文件夾

*.zip 過濾全部.zip文件

/mtk/do.c 過濾某個具體文件

被過濾掉的文件就不會出如今git倉庫中(gitlab或github)了,固然本地庫中還有,只是push的時候不會上傳。

須要注意的是,gitignore還能夠指定要將哪些文件添加到版本管理中:

!*.zip

!/mtk/one.txt

惟一的區別就是規則開頭多了一個感嘆號,Git會將知足這類規則的文件添加到版本管理中。

爲何要有兩種規則呢?想象一個場景:假如咱們只須要管理/mtk/目錄中的one.txt文件,這個目錄中的其餘文件都不須要管理,那麼咱們就須要使用:

/mtk/

!/mtk/one.txt

假設咱們只有過濾規則,而沒有添加規則,那麼咱們就須要把/mtk/目錄下除了one.txt之外的全部文件都寫出來!

相關文章
相關標籤/搜索