Git命令
-
git config --global user.name "yourname"
git config --global user.email "youremail"
這兩句會幫你電腦的所有g(shù)it項目都和你賬號關(guān)聯(lián)起來筐眷,當然你可以不要--global貌踏,就讓當前項目和git關(guān)聯(lián)起來 git init 新建.git到當前文件夾
git status 查看當前項目文件狀態(tài),有沒有修改茴扁,有沒有加入緩沖區(qū)等。
git clone xxx.git 克隆項目到本地
git add . 添加全部文件到緩存區(qū)
git commit -m "注釋" 添加注釋
git log 查看注釋
git log --pretty=oneline 單行輸出log
git push -u origin master 第一次提交項目的到遠程倉庫
git push origin master 再次提交項目代碼到遠程倉庫上
git tag xx 給當前分支創(chuàng)建一個tag 以后就能退回到這個tag的代碼了
git branch 查看當前分支 *master指向master分支
git branch a 創(chuàng)建 a分支
git checkout a 轉(zhuǎn)到a分支
git branch -b a 創(chuàng)建并轉(zhuǎn)到a分支
git branch -d a 刪除a分支
git branch -D a 在沒有合并分支代碼到master代碼悦穿,或者無法刪除分支時吸申,強制刪除分支a
git merga 合并代碼先轉(zhuǎn)到master分支当编,再git merga a 的分支代碼到master分支代碼
-
git checkout tagname 讓分支代碼回到tag是tagname那時候的代碼
更新時間 2016年10月18日16:44:56
git checkout -- readme.txt 文件沒提交到緩沖區(qū)時,讓readme.txt回到修改前族壳。
git reset HEAD readme.txt 讓提交文退出緩沖區(qū)憔辫,再執(zhí)行g(shù)it checkout -- readme.txt,回到修改前仿荆。
git remote add origin git@github... 添加文件夾到遠程倉庫
git merge --no-ff -m "merge with no-ff" dev 不刪除dev分支贰您,并把dev分支坏平,合并到當前分支。
git reflog 查看全部歷史commit信息
git reset --hard 63D232 回到 63D232 那一步
git stash 當你添加新功能一半時锦亦,要修補bug舶替,你要想把dev分支保存起來,新增修復(fù)issure分支杠园,合并到dev分支坎穿,在合并到master分支,最后了來到dev分支返劲,把當時stash起來的 內(nèi)容用git stash pop 恢復(fù)回來玲昧。
git remote -v 查看遠程倉庫的信息
git push origin branch-name 提交的到遠程分支
git checkout -b branch-name origin/branch-name 創(chuàng)建遠程分支。
git branch --set-upstream branch-name origin/branch-name 關(guān)聯(lián)本地分支和遠程分支
git pull 更新本地分支
創(chuàng)建tag 就是為了方便取出tag名的版本篮绿,實際是利用hard到特定的commit號丸边,例如232EDE,分支是移動的 蚓哩,tag是不能移動的谁帕。
git tag 查看該分支的所有tag
給固定的commit id打上tag
首先用git log --pretty=oneline --abbrev-commit查看全部commit id
git tag v1.2 3622EE
git show v1.0 查看v1.0標簽信息,包括commit id author
git tag -a <tagname> -m "tips" commit id 創(chuàng)建的標簽都是在本地吼虎,不會自動推送的遠程犬钢,
git tag -d v1.0 刪除指定tag,先刪除本地tag思灰,再刪除遠程tag
git push origin v1.0 推送指定標簽到遠程
git push origin --tags 推送全部標簽到遠程
git push origin :refs/tags/v0.9
git clone git@github.com xxx.git 克隆遠程倉庫項目到本地玷犹、
git config --global color.ui true 界面文字多彩顏色
在項目根目錄下編輯.gitignore文件,要忽略的文件放進去洒疚。一般是忽略程序編輯生產(chǎn)的文件歹颓,還有你不想提交遠程倉庫的文件
用SSH遠程提交代碼
打開git bash就是git自帶的終端,輸入ssh
Rc3@ppjun MINGW64 ~/Desktop
$ ssh
usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-E log_file] [-e escape_char]
[-F configfile] [-I pkcs11] [-i identity_file]
[-L address] [-l login_name] [-m mac_spec]
[-O ctl_cmd] [-o option] [-p port]
[-Q cipher | cipher-auth | mac | kex | key]
[-R address] [-S ctl_path] [-W host:port]
[-w local_tun[:remote_tun]] [user@]hostname [command]``
這是代表你已安裝ssh油湖。
輸入命令ssh-keygen -t rsa生成ssh密鑰巍扛,連續(xù)按三個Enter
Rc3@ppjun MINGW64 ~/Desktop
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Rabbit/.ssh/id_rsa):
打開C:\Users\Rabbit.ssh 找到id_rsa.pub
復(fù)制里面的https://github.com/settings/keys 點擊 new SSH key的key里面-保存。
最后輸入ssh -T git@github.com乏德,結(jié)果如下代表你添加好SSH到你git上面了撤奸。
Rc3@ppjun MINGW64 ~/Desktop
$ ssh -T git@github.com
Hi gdmec07120731! You've successfully authenticated, but GitHub does not provide shell access.
配置別名
--global是對用戶所有項目生效
用例如以下的公式
git config --global alias.co checkout //用git co 代替 git checkout
git config --global alias.st status //用git st 代替 git status
git config --global alias.br branch
git config --global alias.cm commit
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"
//配置log
搭建遠程GIT服務(wù)器
相當于github遠程托管
強烈建議linux的機器,幾條命令就可以搭建好了喊括。
用apt-get下載git sudo apt-get install git
新增git用戶 sudo adduser git
拿到所有登錄用戶的id_rsa.pub 公鑰胧瓜,放在/home/git/.ssh/authorized_keys文件夾里面
初始化git倉庫,選定一個文件夾作為倉庫文件夾比如GitRepository/sample,在GitRepository下輸入sudo git init --bare sample.git