[工具使用]Git的一些常用操作

查看手冊

如:git help log或者git log --help

創建倉庫的兩種方式

  1. 本地初始化

    cd到目標文件夾下,執行git init

    跟遠程建立連接git remote add <name> <url>name一般是取origin。

  2. 克隆遠程倉庫到本地

    git clone <url>

git clone默認會把遠程倉庫整個給clone下來,
但只會在本地默認創建一個master分支,
如果遠程還有其他的分支,此時用git branch -a查看所有分支。
可以用git checkout -t origin/<branch_name>來拉取某個分支。

查看倉庫狀態

git status

Untracked files指未受控的文件。

Changes to be committed指受控文件發生了改變,還沒commit。

添加文件到暫存區

git add

git add FileNameadd文件。

git add FolderName/add文件夾。

提交

git commit -m "add readme.txt"

提交修改分為兩步,先把修改的文件add到暫存區,然后commit到倉庫。如果有遠程倉庫的話,還要push到遠程倉庫。

查看提交記錄

git log要輸入一個q才能退出log的狀態。

git log --pretty=oneline單行顯示,簡寫git log --oneline

git log -p a.txt查看a.txt的log。

git log --author=Tom查看提交人Tom的提交記錄。

撤銷修改

git checkout readme.txt

checkout是指還沒有commit的修改想要撤銷掉。而如果commit了的修改想要撤銷就要用reset了。

checkout某個文件是讓那個文件回到倉庫里HEAD的狀態。

如果是用慣了svn的同學可能會想著先把那個文件刪掉,再從倉庫里拉取最新代碼就行。在git里是不適用的哦。

回退版本

git reset --hard HEAD^回退到上個版本。

git reset --hard HEAD~n回退到前n次提交之前。

git reset --hard commit_id退到/進到 指定commit的sha碼。

推送本地修改到遠程倉庫

git push,某些情況下你需要指定遠程倉庫的名字和分支,如git push origin master

拉取遠程的最新代碼

git pull

配置賬戶

git config --system --list

git config --global --list

git config --local --list

git config --local user.name "xxx"

git config --local user.email "xxx"

git clean

刪除未受控的文件:git clean -f

刪除未受控的文件和目錄:git clean -fd

查看將要刪除哪些文件:git clean -nf

查看將要刪除哪些文件和目錄:git clean -nfd

公鑰管理

ssh-keygen -t rsa -C "yourEmail@xxx.com"

然后會讓你選擇存放路徑和輸入密碼,可以直接按回車。

然后就會生成兩個文件,一個id_rsa,一個id_rsa.pub。

拷貝id_rsa.pub里面的內容,粘貼到github或者gitee里。

添加成功后,輸入ssh -T git@gitee.com來測試是否可以正常連接。

rebase配合merge使用

多人協作的話需要分支,分支上開發一個功能完成后需要合并到主干上,但是主干上不想要多余的提交記錄。此時,可以使用變基。過程大概是這個樣子。
git branch dev
git switch dev
//modify sth
git commit -m 'dev 1'
//modify sth
git commit -m 'dev 2'
git rebase -i startpoint endpoint//不寫endpoint的話就是HEAD
//select pick reword fixup and so on
git switch master
git merge dev

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容