Mac關機指令:sudo shutdown -h now
Homebrew方式安裝Git
1边翼、/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2、brew install git
用命令行方式查看目錄
pwd? ls? ls -ah? cd? cd ..
新建文件夾&文件
mkdir? touch
查看&編輯文件
cat vim? i :wq
刪除文件
rm test.txt
配置Git倉庫的user name 和 user email
git config --system --list
git config --global? --list
git config --local? --list
git config --global user.name " "
git config --global user.email " "
把某個目錄變成Git倉庫
git init
添加&提交文件到本地倉庫
git add .
git commit -m " "
撤銷add
git reset HEAD 如果后面什么都不跟的話 就是上一次add 里面的全部撤銷了
git reset HEAD XXX/XXX/XXX.java 就是對某個文件進行撤銷了
查看當前沒有add的內容
git diff
查看當前暫存區(qū)的內容(已經add,可以commit的內容)
git status
查看倉庫的commit記錄
git log
git log --pretty=oneline (精簡模式)
版本回退:本地回退&遠程回退(https://www.cnblogs.com/qlqwjy/p/8179684.html)
1、本地倉庫回滾直接用reset(版本是向后的,--hard當前的修改會丟失,--soft當前的修改不丟失且這些修改是已經add過的狀態(tài))
git reset --hard commit_id? ? ? ? ? //回滾到指定commit_id
2、公共分支回滾用revert,然后commit娘扩、push(當前的修改仍然存在,需手動刪除壮锻,然后push琐旁,其他成員pull即可完成,雖然代碼回退了猜绣,但版本是向前的)
git revert 0ffaacc? ? ? //撤銷0ffaacc這次commit(注意:0ffaacc是目標版本的前一個版本)
git revert HEAD? ? ? ? //撤銷最近一次commit
git revert HEAD~1? ? ? //撤銷上上次的commit灰殴,注意:數(shù)字從0開始
Git放棄本地修改(https://www.cnblogs.com/qufanblog/p/7606105.html)
git checkout .
git checkout -- readme.txt
查看遠程庫信息
git remote -v;
把已有的本地倉庫跟遠程倉庫關聯(lián)
git remote add origin git@github.com:michaelliao/learngit.git
刪除關聯(lián)的遠程倉庫
git remote rm origin
普通git的push操作
git push origin master
如果使用了Gerrit的push操作
git push origin HEAD:refs/for/master
從遠程倉庫克玛稀(Git支持多種協(xié)議牺陶,默認的git://使用ssh,但也可以使用https等其他協(xié)議)
git clone git@github.com:michaelliao/gitskills.git
.DS_Store文件沖突解決辦法:(http://www.reibang.com/p/46f22a29b78d)
刪除項目中.DS_Store文件辣之,禁止其自動生成掰伸,添加到.gitignore
分支創(chuàng)建與合并
查看分支:git branch
查看遠程分支:git branch -r
創(chuàng)建分支:git branch <name>
切換分支:git checkout <name>或者git switch <name>
創(chuàng)建+切換分支:git checkout -b <name>或者git switch -c <name>
合并某分支到當前分支:git merge <name>
合并分支:(會生成一個新的commit記錄)git merge --no-ff -m "merged bug fix 101" <name>
刪除分支:git branch -d <name>
刪除一個沒有被合并過的分支:git branch -D <name>
將新分支推送到遠程倉庫:git push origin <name>
刪除遠程倉庫的某個分支:git push origin :<name>
從本地推送分支,使用git push origin branch-name怀估,如果推送失敗狮鸭,先用git pull抓取遠程的新提交;
在本地創(chuàng)建和遠程分支對應的分支奏夫,使用git checkout -b branch-name origin/branch-name怕篷,本地和遠程分支的名稱最好一致历筝;
建立本地分支和遠程分支的關聯(lián)酗昼,使用git branch --set-upstream branch-name origin/branch-name
保存工作現(xiàn)場
git stash list
git stash
git stash pop
git stash apply stash@{0} 恢復指定的stash
復制一個特定的commit到當前分支
git cherry-pick 4c805e2
打標簽
命令git tag <tagname>用于新建一個標簽,默認為HEAD梳猪,也可以指定一個commit id麻削;
命令git tag -a <tagname> -m "blablabla..."可以指定標簽信息蒸痹;
命令git tag可以查看所有標簽。
命令git push origin <tagname>可以推送一個本地標簽到遠程倉庫呛哟;
命令git push origin --tags可以推送全部未推送過的本地標簽叠荠;
命令git tag -d <tagname>可以刪除一個本地標簽;
命令git push origin :refs/tags/<tagname>可以刪除一個遠程標簽扫责。
配置別名榛鼎,簡化git命令
git config --global alias.st status