Git Base For Linux

GitHub實戰系列彙總:http://www.cnblogs.com/dunitian/p/5038719.htmlhtml

Linux安裝git,作個記錄吧(使用github提供的隱私郵箱python

# git官方手冊 https://git-scm.com/book/zh/v2git

# 1.安裝Git
sudo apt-get install gitgithub

# 2.設置用戶名和郵箱(使用Github提供的隱私郵箱
git config --global user.name "Your Name"
git config --global user.email xxx+名稱@users.noreply.github.combash

git config --list #查看全部配置app

 

# 3.克隆現有git倉庫 (支持多種連接協議)fetch

git clone https://github.com/lotapp/BaseCode.gitspa

# 4.檢查當前文件狀態
git status #隨時能夠查狀態3d


# 5.這時候你增長文件都是未跟蹤的(若是以前並不存在這個文件,那麼就無法跟蹤了)
cp -r python/ BaseCode/code


# 6.添加跟蹤文件
git add xxx

# 7.檢查當前文件狀態
git status #如今已被跟蹤,並處於暫存狀態


# 8.提交更新
git commit -m "備註信息"


# 9.1修改文件
# 要查看還沒有暫存的文件更新了哪些部分(跟歷史版本的對比)
git diff 修改的文件

# 後通常都是先把修改後的文件,git add 一下(添加修改都是這個命令)
#git其實提供了一個便捷的方法 git commit -a -m "xxx"
git commit -a -m "test skip git add"

# 9.2刪除文件 同樣能夠用 git commit -a -m "xxx" 來快速提交
git commit -a -m "test skip git add"


# 10.推送到遠程端
git push #默認是git pull origin master,其餘須要指定(修改了origin也能夠用git push來默認推送到clone的那個遠程倉庫

 

關於查看歷史提交的擴展:(衝突的時候常常用)

# 查看歷史提交
git log

# 經常使用的選項是 -p,用來顯示每次提交的內容差別
git log -p -2 #查看最近兩次提交

# 每次提交的簡略的統計信息(應用場景:快速瀏覽小夥伴commit所帶來的變化的時候)
git log --stat
git log --stat -p -2 #能夠聯合使用

--stat 選項在每次提交的下面列出全部被修改過的文件、有多少文件被修改了以及被修改過的文件的哪些行被移除或是添加了。 在每次提交的最後還有一個總結

--------------------------------------------------------------------
擴展(衝突查明細)git log --pretty=format eg:(--graph是美化輸出
git log --pretty=oneline --graph #一行顯示,數據量大的時候用比較方便
git log --pretty=format:"%h - %an, %ar : %s" #時間顯示

若是出現衝突,能夠先運行 git fetch 拉取一下遠端倉庫進行同步

快速版

get pull # 同步代碼

get add --all # 添加新文件

get commit -a -m "註釋" # 提交本次修改

get push # 推送到倉庫

git checkout xxx # 撤銷文件修改

--------------------------------------------------
# 1.安裝Git
sudo apt-get install git

-----------------------
# 2.設置用戶名和郵箱
git config --global user.name "Your Name"
git config --global user.email xxx+名稱@users.noreply.github.com

git config --list #查看全部配置

-----------------------
# 3.克隆現有git倉庫
git clone https://github.com/lotapp/BaseCode.git

-----------------------
# 4.檢查當前文件狀態
git status #隨時能夠查狀態

-----------------------
# 5.這時候你增長文件都是未跟蹤的(若是以前並不存在這個文件,那麼就無法跟蹤了)
cp -r python/ BaseCode/

-----------------------
# 6.添加跟蹤文件
git add --all # 添加所有文件
git add xxx -f # 添加某個被忽略的文件
----------------------- # 7.檢查當前文件狀態 git status #如今已被跟蹤,並處於暫存狀態 ----------------------- # 8.提交更新 git commit -m "備註信息" ----------------------- # 9.1修改文件 # 要查看還沒有暫存的文件更新了哪些部分(跟歷史版本的對比) git diff 修改的文件 # 後通常都是先把修改後的文件,git add 一下(添加修改都是這個命令) #git其實提供了一個便捷的方法 git commit -a -m "xxx" git commit -a -m "test skip git add" # 9.2刪除文件 同樣能夠用 git commit -a -m "xxx" 來快速提交 git commit -a -m "test skip git add" ----------------------- # 10.推送到遠程端(若是是多個遠程倉庫仍是建議寫全) git push #默認是origin master #若是是多個遠程倉庫仍是建議寫全:(修改了origin也能夠用git push來默認推送到clone的那個遠程倉庫) git push origin master
# 11.同步代碼
git pull
----------------------- # 查看歷史提交 git log # 經常使用的選項是 -p,用來顯示每次提交的內容差別 git log -p -2 #查看最近兩次提交 # 每次提交的簡略的統計信息(應用場景:快速瀏覽小夥伴commit所帶來的變化的時候) git log --stat git log --stat -p -2 #能夠聯合使用 --stat 選項在每次提交的下面列出全部被修改過的文件、有多少文件被修改了以及被修改過的文件的哪些行被移除或是添加了。 在每次提交的最後還有一個總結 擴展(衝突查明細): git log --pretty=format eg:(--graph是美化輸出) git log --pretty=oneline --graph #一行顯示,數據量大的時候用比較方便 git log --pretty=format:"%h - %an, %ar : %s" #時間顯示 -------------------------------------------------------------

擴展

1.clone指定分支git clone -b name https://github.com/lotapp/cpython.git

2.fetch更新本地倉庫兩種方式:(有更簡單的方法能夠提一下)

//方法一
git fetch origin master //從遠程的origin倉庫的master分支下載代碼到本地的origin master

git log -p master.. origin/master//比較本地的倉庫和遠程參考的區別

git merge origin/master//把遠程下載下來的代碼合併到本地倉庫,遠程的和本地的合併

//方法二
git fetch origin master:temp //從遠程的origin倉庫的master分支下載到本地並新建一個分支temp

git diff temp//比較master分支和temp分支的不一樣

git merge temp//合併temp分支到master分支

git branch -d temp//刪除temp

todo

GPG防止僞簽名提交:

基本上用不到,貼幾個文章課後拓展一下:

https://www.freebuf.com/news/140413.html

https://help.github.com/articles/signing-commits

https://help.github.com/articles/generating-a-new-gpg-key

https://help.github.com/articles/managing-commit-signature-verification

相關文章
相關標籤/搜索