方式一:html
創建本地倉庫android
git init
建立遠程倉庫:在github或者gitlab建立遠程倉庫git
讓本地倉庫和遠程倉庫進行關聯github
git remote add origin git@mycode.skylettestudio.com:xlPay/XLPay.git
進行添加和提交操做vim
git add . git commit -m"添加文件"
push到遠程windows
git push -u origin master 因爲遠程庫是空的,第一次推送master分支時,加上-u參數,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在之後的推送或者拉取時就能夠簡化命令,以下: git push origin master
方式二:ssh
建立遠程倉庫gitlab
把遠程倉庫clone到本地post
git clone git@mycode.skylettestudio.com:xlPay/XLPay.git
將本地工程copy到clone的文件夾中測試
進行添加和提交操做
git add -A git commit -m"添加文件"
將工程push到遠程
git push origin master
添加單個改動文件,如:readme.txt
git add readme.txt
添加全部改變的文件,有以下幾種區別:
//表示添加全部內容
git add -A
//表示添加新文件和編輯過的文件不包括刪除的文件
git add .
//表示添加編輯或者刪除的文件,不包括新添加的文件
git add -u
添加同時提交內容
git commit -am"添加並提交到倉庫"
查看分支
git branch
建立分支
git branch <name>
切換分支
git checkout <name>
建立+切換分支
git checkout -b <name>
合併某分支到當前分支
git merge <name>
刪除本地分支
git branch -d <name>
查看遠程分支列表
git branch -a 綠色表明當前項目所在的分支,紅色就是遠程分支列表
提交該分支到遠程倉庫(即:在遠程建立dev分支,並提交內容):
git push origin dev
從遠程獲取dev分支內容:
git pull origin dev
或者經過用命令行,運行 git fetch,能夠將遠程分支信息獲取到本地,
再運行 git checkout -b local-branchname origin/remote_branchname
就能夠將遠程分支映射到本地命名爲local-branchname 的一分支
刪除遠程分支
git push origin --delete <branchName>
重命名本地分支
git branch -m <oldbranch> <newbranch>
重命名遠程分支
先刪除遠程分支,而後重命名本地分支,再從新提交一個遠程分支
在Git中,用HEAD表示當前版本。上一個版本就是HEAD,上上一個版本就是HEAD。,固然往上100個版本寫100個比較容易數不過來,因此寫成HEAD~100。
查看提交日誌(全部的提交日誌,最近到最遠)
git log
查看提交的內容(好比更改了哪些類,刪除了哪些文件等)
git log -p -1// -p 選項展開顯示每次提交的內容差別,用 -2 則僅顯示最近的兩次更新
查看命令歷史(即:咱們每個命令)
git reflog
經過git log 或者 git reflog能夠拿到每一個版本的commit_id,而後經過切換版本/回退版本的命令便可:
git reset --hard commit_id
回退版本操做:
//git log 拿到commit_id git log //回到commit_id那個版本 git reset --hard commit_id
已經回退到了以前的版本,又想回到新版本
//查看全部的命令,而後找到新版本提交的 commit_id git reflog //去到新版本 git reset --hard commit_id
讓這個文件回到最近一次git commit或git add時的狀態
git checkout -- readme.txt
打一個新標籤
//默認標籤是打在最新提交的commit上的 git tag <name>
查看全部標籤(標籤不是按時間順序列出,而是按字母排序的)
git tag
查看某個標籤信息
//標籤不是按時間順序列出,而是按字母排序的 git show <tagname>
建立帶有說明的標籤,用-a指定標籤名,-m指定說明文字
git tag -a v0.1 -m "設置了標籤啊" 3628164
刪除本地標籤
git tag -d v0.1
推送一個本地標籤到遠程
git push origin <tagname>
推送所有未推送過的本地標籤到遠程
git push origin --tags
刪除一個遠程標籤
//先在本地進行刪除 git push origin :refs/tags/<tagname>
tag默認是打在最新的commit上的,若是想給已經commit過的內容添加標籤以下:
1. git reflog //找到歷史版本的 commit id = 6224937 2. git tag v1.0.0 6224937
獲取遠程tag
git fetch origin tag <tagname>
合併衝突:
//提交的文件若是出現衝突就會出現這種提示 CONFLICT (content): Merge conflict in readme.txt Automatic merge failed; fix conflicts and then commit the result.
獲取遠端庫最新信息
git fetch origin
做比較
git diff master origin/master
合併本地倉庫代碼
git merge origin/master
把本地git倉庫恢復爲普通文件夾
測試Github和Gitlab是否添加了SSH
ssh -T git@github.com ssh -T git@gitlab.com
查看未傳送到遠程代碼庫的提交描述/說明(commit到了本地倉庫,可是沒有push到遠程倉庫的內容的提交說明)
git cherry -v origin thcdev//後面要加push到的遠程倉庫名
查看遠程庫信息
git remote -v;
清屏操做
git reset
git log以後退出
按 Q 便可
找到歷史提交的commit id
git log --pretty=oneline --abbrev-commit
和遠程倉庫創建聯繫
建立SSH Key
在用戶主目錄(這裏在windows下是指 c/user/Administrator/.ssh/id_rsa)下,看看有沒有.ssh目錄。
若是有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個文件,若是已經有了,可直接跳到下一步。
若是沒有,打開Shell(Windows下打開Git Bash),建立SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
須要把郵件地址換成你本身的郵件地址,而後一路回車,使用默認值便可。
因爲這個Key也不是用於軍事目的,因此也無需設置密碼。
(測試的結果:C:\Users\Administrator.ssh 裏面有id_rsa和id_rsa.pub兩個文件,這兩個就是SSH Key的祕鑰對,id_rsa
是私鑰,不能泄露出去,id_rsa.pub是公鑰,能夠放心地告訴任何人。)
登錄GitHub,打開「Account settings」,「SSH Keys」頁面:而後,點「Add SSH Key」,填上任意Title,在Key文本框裏粘貼id_rsa.pub文件的內容。點「Add Key」,你就應該看到已經添加的Key:
注意兩點:
爲何GitHub須要SSH Key呢?由於GitHub須要識別出你推送的提交確實是你推送的,而不是別人冒充的,而Git支持SSH協議,因此,GitHub只要知道了你的公鑰,就能夠確認只有你本身才能推送。
GitHub容許你添加多個Key。假定你有若干電腦,你一下子在公司提交,一下子在家裏提交,只要把每臺電腦的Key都添加到GitHub,就能夠在每臺電腦上往GitHub推送了。
測試SSH key是否添加成功
輸入以下命令進行測試
ssh -T git@github.com
若是出現:
ssh_success.png
說明添加成功了。
進入當前路徑的dev
cd dev
返回上級目錄
cd ..
返回上次目錄
cd
查看當前目錄
pwd
列出當前目錄內容
ls
新建一個名爲dev的目錄
mkdir dev
強制刪除,無論目錄爲不爲空
rm -rf dev
關閉(Exiting)
:w 保存 :wq 保存並關閉 :x :q 關閉(已保存) :q! 強制關閉
關閉插入模式
ESC//點擊以後就能夠執行 vim命令操做
Unable to create 'E:/WorkSpace/xiaoluSDK-android/.git/index.lock': File exists.
rm -f ./.git/index.lock
[搞一波](https://blog.zengrong.net/post/1746.html#)
做者:CoderThc 連接:https://www.jianshu.com/p/f92ed1ca8120 來源:簡書 著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。