Git常用的基本命令
目錄
- 1.克隆
- 2.新建分支
- 3.提交
- 4.提交到遠程倉庫
- 5.下拉
- 6.
- 7.切換分支
- 8.暫存
- 9.返回
- 10 查看版本號
1.克隆
如果這個項目的代碼我們在本地還沒有,我們先去GitLab里邊找對應的Git地址,然后Clone到本地:
git clone https://github.com/ITmxs/mygit.git2.新建分支
接到了新的需求,我們要新建一個分支,然后基于這個分支去開發:
git checkout -b feature/sanwaiAddLog在開發的時候,我們肯定會有兩個操作:
- 在原來的基礎上添加新的文件
- 在原有的文件上修改
3.提交
不管怎么樣,等我們做到一定程度了,我們都會提交代碼。如果我們添加了新的文件,我們需要先add,然后再commit
git add .git commit -m "try to commit files to GitHub, i am mxs"4.提交到遠程倉庫
假設我們一切順利,在沒人打擾的情況下已經寫好了代碼了,然后我們會把自己的分支push到遠程倉庫
git push5.下拉
假設我們寫到一半,其他小伙伴已經把他的代碼merge到主分支了,我們也需要把他最新的 代碼給pull拉取下來。(可以 git fetch + git merge 替代)
git pull如果沒有沖突,那git就會把他的代碼給merge到我當前的分支上。如果有沖突,Git會提醒我去手動解決一下沖突。
6.
看Git工作區、暫存區的變更情況(可以知道哪些沒有commit、哪些沒有被Git追蹤):git status
拉取遠程最新的變更到本地:git fetch
切換分支:git checkout 分支名
將代碼還原到某個版本(包括工作目錄):git reset --hard 版本號
查看Git的提交(commit)記錄:git log
將代碼還原到某個版本后,后悔了,想重新回去,但在提交記錄已經找不到了。git reset --hard 把reset 之后的 commit都給抹殺掉了。找到最近的執行Git命令:git reflog
還原到某個版本了,現在我為了穩健,不想再原來的分支上修改了,再新建一個分支吧(-b 參數把當前分支切換到了要創建的分支上):git checkout -b 分支名
我們把上一次還是”相對穩健“的分支合并到我新建的分支上:git merge 分支
突然想看看現在有多少個分支:git branch -a
新增幾個文件了,隨手git add一下吧
改得差不多了,隨手git commit -m一下吧,最好還是寫好備注,不然以后等改多了,你都不知道你改了什么啦。
改完了,提交到遠程吧:git push
想把遠程分支最新的代碼給拉下來,然后合并到本地上。我們可以用git fetch和git merge來實現,也可以通過git pull來實現。一般我用的都是git fetch+git merge,這樣會更加可控一些
有的時候,本地分支在master分支,然后忘了切其他的分支去修改,直接在master改了,然后也push到遠程了。等你發現的時候,你會真的想罵自己。
咋辦?最簡單的辦法其實我們還是可以git reset --hard到對應的版本,然后將其修改或者復原,再強制提交到master分支:git push -u origin/master -f
7.切換分支
假設我們寫到一半了,現在工作區的代碼都已經commit了。此時同事說要不幫忙一起排查一個問題,同事一般用的是自己分支,于是就得問他:你用的哪個分支啊?于是得把他的分支給拉下來,看看他的代碼哪兒有問題
git fecth -- 手動拉取遠程倉庫更新的信息git checkout 分支名 -- 切換到他的分支現在切換到他的分支,相當于你的環境跟他的環境是一模一樣的,于是就可以愉快地一起看Bug了。
8.暫存
假設我們寫到一半了,現在工作區的代碼還沒commit。現在有同事說要排查問題或者一個新的Bug被發現了,要緊急切換到其他的分支。現在我又不想commit(我就寫了一半,編譯還報著錯誤,沒理由讓我commit吧)。
這時,我會把工作區的代碼先stash到暫存區給保存起來,然后就可以愉快地切換其他的分支了。
git stash等我解決完另一個bug或者幫別人看完問題了,我再把剛剛保存在暫存區的代碼給撈出來,繼續干活
git stash pop9.返回
我一直在修Bug,現在的分支已經被我搞得人摸鬼樣了,我非常難受,甚至不知道自己在這個過程中改了多少東西了。
思路已經完全被打亂了,我想回到一個穩定的commit重新出發,重來吧(通過下面的命令,把工作區的代碼都改成對應commit的代碼了)。
git reset --hard 版本號10 查看版本號
那我怎么找到版本號呢?Git也是有日志的:
git log --pretty=oneline總結
以上是生活随笔為你收集整理的Git常用的基本命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Git之常见的标签操作
- 下一篇: 使用 Gitee 进行代码管理(包括本地