git 基本操作

初次運行:
git clone https://gitee.com/TJISM/MarsGisPlatform.git

更新代碼:
git pull origin master
git pull origin
git pull
推送代碼:
git push

git commit -am '二維地圖-圖上標繪'

git pull origin 獲取所有分支
git checkout newui 切換到newui分支。

注意:
此代碼,要在,要更新的項目目錄下執行。
代碼目錄:
cd MarsGisPlatform/


查看配置信息:
git config --list
vim ~/.gitconfig
vim /etc/gitconfig
git config user.name

git版本信息:
$ git --version
git version 2.18.0.windows.1


1.
git init
Git 使用 git init 命令來初始化一個 Git 倉庫,
Git 的很多命令都需要在 Git 的倉庫中運行,
所以 git init 是使用 Git 的第一個命令。
C:\Users\RH-AS03\runoob>git init
Initialized empty Git repository in C:/Users/RH-AS03/runoob/.git/


2.
git clone [url]
幾種效果等價的git clone寫法:
git clone http://github.com/CosmosHua/locate new
git clone http://github.com/CosmosHua/locate.git new
git clone git://github.com/CosmosHua/locate new
git clone git://github.com/CosmosHua/locate.git new


3.
git add
緩存所有改動命令:
$ git add .
緩存某個文件的改動:
git add README hello.php
注:
README hello.php,是兩個文件。
多個文件中間用 空格 隔開。


4.
git status
查看文件狀態命令。
-s,s就是short,狀態的簡短輸出。

例如:
$ git status -s
?? README
?? hello.php
??,代表後面的文件,尚未添加到緩存。

$ git status -s
A  README
A  hello.php
A,代表後面的文件,已經添加到緩存,且添加到緩存之後並未改動。

$ git status -s
AM README
A  hello.php
AM,代表該文件已經添加到緩存,且添加到緩存之後又有改動,改動尚未添加到緩存。

$ git status -s
 M README
 M hello.php
 M,代表後面的文件已提交過,且提交後,又有更改。 更改尚未緩存,尚未提交。

$ git status -s
M  README
M  hello.php
M,代表後面的文件已提交過,且提交後,又有更改。 更改已經緩存,尚未提交。

$ git status -s

此狀態是,所有文件都已緩存,且都已提交。

$ git status
On branch master
nothing to commit, working tree clean
此狀態類似上一條。


5.
git diff
查看尚未緩存的改動:git diff
查看已緩存的改動: git diff --cached


6.
git commit
使用 git add 命令將想要快照的內容寫入緩存區, 
而執行 git commit 將緩存區內容添加到倉庫中。

Git 爲你的每一個提交都記錄你的名字與電子郵箱地址,
所以第一步需要配置用戶名和郵箱地址。
配置個人的用戶名稱和電子郵件地址:
$ git config --global user.name "gaoshengjie0914"
$ git config --global user.email [email protected]

提交已緩存的文件,並註釋爲 '第一次版本提交':
$ git commit -m '第一次版本提交'
[master (root-commit) 9937e4e] 第一次版本提交
 2 files changed, 4 insertions(+)
 create mode 100644 README
 create mode 100644 hello.php
注:
-m 選項以在命令行中提供提交註釋。

提交後,執行命令:
$ git status
On branch master
nothing to commit, working tree clean
以上輸出說明我們在最近一次提交之後,沒有做任何改動,
是一個"working tree clean:乾淨的工作樹"。

如果你覺得 git add 提交緩存的流程太過繁瑣,
Git 也允許你用 -a 選項跳過這一步。命令格式如下:
git commit -a

修改hello.php文件後,
緩存,提交併且註釋爲 '修改 hello.php 文件':
$ git commit -am '修改 hello.php 文件'
[master 188496f] 修改 hello.php 文件
 1 file changed, 1 insertion(+)


git commit -am '獲取地名查詢的數據'
git commit -am '二維地名道路查詢更改'


7.
git reset HEAD
git reset HEAD 命令用於取消已緩存的內容。

提交README,hello.php文件後,再次修改,緩存:
$ git status -s
M  README
M  hello.php

取消hello.php文件的已緩存的內容:
$ git reset HEAD hello.php
Unstaged changes after reset:
M       hello.php

AS03@DESKTOP-0G2H789 MINGW64 ~/p1 (master)
$ git status -s
M  README
 M hello.php

注:
git commit -m 'xxx', 只提交緩存過的文件。
git commit -am 'xxx', 提交所有的改動,到倉庫。
包括,緩存過的 和 未緩存的。

8.
git rm
移除 文件/目錄 命令。

要從 Git 中移除某個文件,就必須要從已跟蹤文件清單中移除,
然後提交。
可以用以下命令完成此項工作

git rm <file>
此命令,既從跟蹤清單中移除文件,又從當前工作目錄中移除文件。
此命令,纔是git正確移除文件的方式。

如果刪除之前修改過並且已經放到暫存區域的話,
則必須要用強制刪除選項 -f
git rm -f <file>

如果把文件從暫存區域移除,但仍然希望保留在當前工作目錄中,
換句話說,僅是從跟蹤清單中刪除,使用 --cached 選項即可
git rm --cached <file>

可以遞歸刪除,即如果後面跟的是一個目錄做爲參數,
則會遞歸刪除整個目錄中的所有子目錄和文件:
git rm –r * 
進入某個目錄中,執行此語句,會刪除該目錄下的所有文件和子目錄。


9.
git mv
git mv 命令用於移動或重命名一個文件、目錄、軟連接。

$ git add README 
然後對其重名:
$ git mv README  README.md
$ ls
README.md

注意:
git mv 操作的對象,必須在跟蹤清單中,
否則,報錯。


10.
Git 分支管理
列出分支:
git branch
創建分支:
git branch (branchname)
切換分支:
git checkout (branchname)
創建並切換到該分支:
git checkout -b (branchname)
刪除分支:
git branch -d (branchname)
分支合併:
git merge
一旦某分支有了獨立內容,
你終究會希望將它合併到你的主分支。 
你可以使用分支合併命令將任何分支合併到當前分支中去。

$ git branch
* master
此例的意思就是,我們有一個叫做"master"的分支,
*,代表該分支是當前(操作的)分支。

當你執行 git init 的時候,
缺省情況下 Git 就會爲你創建"master"分支。

$ git branch testing
$ git branch
* master
  testing

echo 'runoob.com' > test.txt
此命令,將創建文件test.txt,並寫入內容 'runoob.com'。

將newtest分支合併到當前分支:
意思就是將newtest分支的更改合併到當前分支。
$ git merge newtest

cat test.txt
head -1 test.txt
less test.txt
以上三條命令,都會顯示test.txt文件的內容。

注意:
創建新的分支,會複製當前分支的內容。

合併衝突的解決:
在 Git 中,我們可以用 git add 要告訴 Git 文件衝突已經解決
$ git status -s
UU test.txt
$ git add test.txt 
$ git status -s
M  test.txt
$ git commit
[master 88afe0e] Merge branch 'change_site'
現在我們成功解決了合併中的衝突,並提交了結果。


11.
Git 查看提交歷史
詳細信息命令:
$ git log

簡潔版本命令:
$ git log --oneline

查看歷史中什麼時候出現了分支、合併:
$ git log --oneline --graph

你也可以用 '--reverse'參數來逆向顯示所有日誌:
$ git log --reverse --oneline

如果你要指定日期,可以執行幾個選項:--since 和 --before,
但是你也可以用 --until 和 --after。
例如,如果我要看 Git 項目中三週前且在四月十八日之後的所有提交,
我可以執行這個(我還用了 --no-merges 選項以隱藏合併提交):
$ git log --oneline --before={3.weeks.ago} --after={2018-04-18} --no-merges


12.
Git 標籤
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章