自己的倉庫管理:
git add <filename>
- 將文件添加到暫存區(qū)中 (其中g(shù)it add.可以將當前目錄的子目錄文件都添加到暫存區(qū)中)
git commit -m "...":
- 保存?zhèn)}庫的歷史記錄,其中 -m "..."提交信息(概述)
git config --global user.name "..."、git config --global user.email "...":
- 配置提交作者信息
git log:
- 查看提交日志(當前狀態(tài)為終點) 會產(chǎn)生版本庫里一系列單獨提交的歷史
git diff ID1/ID2:
- 查看版本差異
git mv 新名字,舊名字
- 重命名:
git branch -a [-v]
- 分支一展表, -r 查看遠程git服務(wù)器上的分支
git checkout 分支名:
- 切換分支
- -b創(chuàng)建,且切換到新建分支 等價于
git branch 分支名+git checkout 分支名
git branch -d [分支名稱]
- 刪除一個分支, -d選項只能刪除已經(jīng)參與過合并的分支,對于未參與合并的分支是無法刪除的。如果想強制刪除一個分支,可以使用-D選項、
git rest --head ID :
- 退回之前提交版本
git status :
- 查看倉庫當前狀態(tài);
git reflog :
- 查看當前倉庫的操作日志
git rebase -i:
- 壓縮歷史(如果出現(xiàn)拼寫錯誤時需要):
git rebase -i HEAD~2
git merge --no-f 分支名 :
- 合并分支
git remote set-url origin https://github.com/Freedomisgood/NjuptGo.git
- 修改倉庫指定新的遠程倉庫
git commit --amend:
- 修改上次commit備注信息
遠程倉庫
如果本地沒有倉庫,則clone:
git clone http://github.com/xxx/yyy.git
在本地增加遠程倉庫信息:git remote add apollo3d http://github.com/xxx/yyy.git,此時遠程庫名為origin、apollo3d
刪除遠程分支git push origin --delete kickof
git push代碼到遠程新分支
git push origin master:my_remote_new_branch
git pull
如果本地有倉庫,則拉取更新命令為:
git pull <遠程庫名> <遠程分支名>:<本地分支名>
比如,取回遠程庫中的online分支,與本地的online分支進行merge,要寫成:
git pull origin online:online
如果是要與本地當前分支merge,則冒號后面的<本地分支名>可以不寫
git pull origin online
通常,git會將本地庫分支與遠程分支之間建立一種追蹤關(guān)系。比如,在git clone的時候,所有本地分支默認與遠程庫的同名分支建立追蹤關(guān)系。也就是說,本地的master分支自動追蹤origin/master分支。因此,如果當前處于本地online分支上,并且本地online分支與遠程的online分支有追蹤關(guān)系,那么遠程的分支名可以省略:
比如,取回遠程庫中的online分支,與本地的online分支進行merge,要寫成:
git pull origin
其實,git pull 命令等同于先做了git fetch ,再做了git merge。即:
git fetch origin online
git checkout online
git merge origin/online
git push
二.推送本地分支到遠程倉庫
(一).創(chuàng)建本地分支git checkout -b 新分支名
(二).推送本地分支到遠程倉庫git push --set-upstream origin 分支名
三、將遠程git倉庫里的指定分支拉取到本地(本地不存在的分支)
git checkout -b 本地分支名 origin/遠程分支名
修改了.gitignore生效指令
git rm -r --cached . // 刪除本地緩存
git add . // 添加要提交的文件
git commit -m 'update .gitignore' // 更新本地的緩存
參考
- Git遠程操作詳解:http://www.ruanyifeng.com/blog/2014/06/git_remote.html
- 使用git將項目上傳到github(最簡單方法):https://www.cnblogs.com/cxk1995/p/5800196.html
- <<Git入門與實踐>>:日本
- Git恢復(fù)之前版本的兩種方法reset、revert(圖文詳解)
采坑記錄
Q: 不小心git reset --hard HEAD^導(dǎo)致工作區(qū)文件全沒了
A:解決方案:
Undo git reset --hard with uncommitted files in the staging area
-
根據(jù)這篇博客操作的結(jié)果
git cat-file -p ID > a.md是個對比文件100644 blob cdca566953e3b7b56897b2fa6995129170403212 Q-learning.ipynb 100644 blob 47735fcc505315aa61583dad9dc4facb7c00fbdc Q-learning.py 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 __init__.py 040000 tree db76babbe2f2df4566b607e732c0c835418f9a83 __pycache__ 100644 blob debb716313cfbf28c055e89ce4a625a1d7801f5b agents.py 100644 blob 30ec43da68efe5eb5e8e31cb431fea981e256b6a approximator.py 100644 blob 1e8ac820d62943d16fa56fa981d72e27239527d9 core.py 100644 blob a0cfa7ac7f9f15a658ace5c5c7c5bbe73f680502 myringworld.py 100644 blob 69cb25ba30f4350454a0e731a70890cbf2530217 ringworld.py 100644 blob 5638e012cb1b68783e6cdf45d2e769cca96e591f utils.py 100644 blob 96aa662c03d991487e6da8120884b6f647be7202 viewer.py -
△.關(guān)于git reset --hard導(dǎo)致文件丟失的血的教訓(xùn)——親測有效
- 解決add了但沒有commit的文件,可以用上述方法找回
分支git branch參數(shù)區(qū)別
[圖片上傳失敗...(image-d160b6-1570800745059)]