https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
我把git命令都按順序記錄...(sudo可以用sudo su去掉..)
安裝git:
apt-get install git
創建目錄:
mkdir learngit
用cd命令進入..
創建git倉庫(初始化):
git init
配置一下姓名和郵箱:
git config user.name "jax"
git config user.email "[email protected]"
創建一個文件:
touch readme.txt
添加該文件:
git add readme.txt
編輯文件內容:
vim readme.txt
插入:
i
保存退出:
esc
:wq!
提交:
git commit -m "commit one file"
修改文件,然後查看修改:
git diff
重新上傳:
git add readme.txt
查看狀態:
git status
查看日誌:
git log
回到上一個版本:
git reset --hard HEAD^
查找版本id:
git reflog
根據版本id回到版本:
git reset --hard HEAD a706b3d
撤銷修改:
git checkout -- readme.txt
刪除文件:
git rm readme.txt
git commit -m "remove readme.txt"
設置祕鑰:
ssh-keygen -t rsa -C "[email protected]"
回車回車回車...
找到公共祕鑰:
cd ~/.ssh
查找和複製公鑰:
cat id_rsa.pub
登陸GitHub,點擊setting,點擊SSH and GPG keys添加公鑰,添加一個learngit倉庫
檢查ssh:
ps -e|grep ssh
如果只有agent,安裝openssh-server:
sudo apt-get install openssh-server
本地倉庫關聯:
git remote add origin [email protected]:jaxma/learngit.git
(無法關聯或者出錯,刪除遠程倉庫:git remote rm origin)
推送遠程倉庫:
git push -u origin master
創建dev分支:
git checkout -b dev
列出所有分支:
git branch
合併到master分支:
先切換到master分支 git checkout master
後合併 git merge dev
刪除分支:
git branch -d dev
強制刪除 git branch -D dev
查看分支合併情況:
git log --graph
git log --graph --pretty=oneline --abbrev-commit
儲存工作現場(分支)
git stash
新建bug分支
git checkout -b inssue-101 這時上面儲存的分支進行的文件改動在這個分支下是看不到的
提交、合併bug分支,刪除bug分支
git merge --no-ff -m "merged bug fix 101" issue-101
git branch -d issue-101
查看工作現場
git stash list
恢復的同時把stash內容也刪了
git stash pop
恢復指定stash內容
git stash apply stash@{0}
查看遠程庫的信息
git remote -v
創建遠程origin的dev分支到本地
git checkout -b dev origin/dev
推送分支到遠程庫
git push origin dev
推送失敗,抓取遠程最新提交
git pull
抓取遠程最新提交失敗,指定本地分支和遠程分支在鏈接
git branch --set-upstream dev origin/dev
創建標籤
git tag v1.0
找到歷史提交的commit id並創建標籤
git log --graph --pretty=oneline --abbrev-commit
git tag v1.0 0123456
查看所有標籤
git tag
查看標籤信息
git show v1.0
gpg(GnuPG)生成公鑰和密鑰,公鑰給對方加密,密鑰自己解密
通過-s
用私鑰簽名一個標籤
git tag -s v1.0 -m "mytag" 0123456
推送標籤到遠程
git push origin v1.0
一次性推送本地標籤到遠程
git push origin --tags
刪除本地標籤
git -d tag v1.0
刪除遠程標籤
git push origin :refs/tags/v1.0
碼雲
找到公共祕鑰:(sudo su)
cd ~/.ssh
cat id_rsa.pub
選擇右上角用戶頭像 -> 菜單“修改資料”->SSH公鑰 填好提交
控制面板->點加號創建新項目
同時對github和gitee進行關聯
先刪除原本對github的關聯
git remote -v查看
git remote rm origin 刪除
重新關聯github,將origin改成github
git remote add github [email protected]:jaxma/learngit.git
本地和碼雲遠程庫關聯
git remote add gitee [email protected]:jaxma/learngit.git
分別推送
git push github master
git push gitee master
git顯示不同顏色
git config --global color.ui true
配置別名(status)
git config --global alias.st status
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"(這個666)
配置文件路徑
.git/config