git常用命令与AndroidStudio常用快捷键
git相關內容:
產生密鑰:
cd ~/.ssh (C:\Users\賬戶名稱\.ssh)
生成密鑰:ssh-keygen -t rsa -C "your_email@youremail.com"
Enter就行。然后,會提示你輸入密碼,如下(建議輸一個,安全一點,當然不輸也行):
添加公鑰到你的github帳戶:
1,登陸你的github帳戶。然后 Account Settings -> 左欄點擊 SSH Keys -> 點擊 Add SSH key
2、然后你復制上面的公鑰id_rsa.pub內容,粘貼進“Key”文本域內。 title域,你隨便填一個都行。
點擊 Add key,驗證:ssh -T git@github.com(git地址)即可
git命令
git branch -va 查看分支
git branch -l本地分支 -r查看遠程分支,-a查看所有分支
git checkout -b dev origin/dev 切換 創建分支dev,關聯到此分支
git checkout -b [分支名] [遠程名]/[分支名]
創建分支
git checkout -b feature_name origin/master 在origin/master的基礎上,創建一個新分支
切換分支
如果有了多個branch, 就可以用checkout切換到某個branch。用法很簡單:
git checkout branchname
上面的命令如果加上參數branch的話,功能就有所增強
git checkout branchname -- filePath
git fetch 更新遠程庫變化內容
git fetch <遠程主機名> <分支名>
git fetch origin master
git merge
合并分支時,如果可能,Git會用Fast forward模式,但這種模式下,刪除分支后,會丟掉分支信息。
如果要強制禁用Fast forward模式,Git就會在merge時生成一個新的commit,這樣,從分支歷史上就可以看出分支信息。
git merge --no-ff -m "merge message" dev
Git status
查看版本庫的狀態。可以得知哪些文件發生了變化,哪些文件還沒有添加到git庫中
git diff filename 查看修改內容
git reset回退
git reset --hard HEAD^ 回退上一個版本
git reset --hard 2e70fdf 回退指定版本
修改與撤銷
用git diff HEAD -- readme.md查看工作區和版本庫里面最新版本的區別。
git checkout -- file可以丟棄工作區的修改
例:git checkout -- readme.md意思就是,把readme.md文件在工作區的修改全部撤銷,即讓這個文件回到最近一次git commit或git add,時的狀態,誤刪的文件恢復。
當然也可以用git reset命令。
git log
git log --pretty=oneline log簡化顯示
git log --graph --pretty=oneline --abbrev-commit 分支的合并情況歷史
git reflog 查看connit id記錄歷史
git log --stat
git pull push
git pull origin dev 遠程分支到本分支
創建+切換分支:git checkout –b name
合并某分支到當前分支:git merge name
刪除本地分支:git branch –d name
刪除遠程的分支
git branch -r -d origin/hongchangfirst
要想真正刪除遠程分支上的內容,可以這樣:
git push origin :hongchangfirst
注意,冒號前面的空格不能少,相當于把一個空分支push到server上,等于刪除該分支
git stash功能,可以把當前工作現場“儲藏”起來,等以后恢復現場后繼續工作:
另一種方式是用git stash pop,恢復的同時把stash內容也刪了
可以多次stash,先用git stash list查看,然后恢復指定的stash
'git stash apply stash@{1}'就可以將你指定版本號為stash@{1}的工作取出來,stash內容并不刪除,使用git stash drop來刪除
分支切換,更新問題
esc,esc.
:q! enter
查看遠程倉庫:$ git remote -v
添加遠程倉庫:$ git remote add [name] [url]
git remote add teamCenter http://git.ihangmei.com/AndroidTeam/WangFanApp.git
刪除遠程倉庫:$ git remote rm [name]
修改遠程倉庫:$ git remote set-url --push [name] [newUrl]
git fork分支同步更新源分支內容:
1,確定一下是否建立了主repo的遠程源:
git remote -v
2,如果只能看到你自己的兩個源(fetch 和 push),那就需要添加主repo的源
git remote add upstream URL
git remote -v
3,想與主repo合并:
git fetch upstream
git merge upstream/master
git commit -am "<message>"
git commit -a
已經通過git add <change file>將其添加到stage,可以通過git commit -m "<message>" 你的文件之前已經提交過,但這次的改動還沒有進stage
git push -u origin ResourceCodeClean
通常我們提交git的時候都是
git add .
git commit -m "some str"
git push
這三大步,而實際上,你只需要兩條命令就夠了,除非有新的文件要被添加進去。
git commit -am "some str"
git push
沖突解決
文件(比如,a用戶把文件改名為a.c,b用戶把同一個文件改名為b.c,那么b將這兩個commit合并時,會產生沖突)
如果最終確定用b.c,那么解決辦法
git rm a.c
git rm origin-name.c
git add b.c
git commit
內容沖突
當merge出現沖突的時候,輸入
git mergetool
differmege
http://blog.csdn.net/u010232305/article/details/51767887
git config --global merge.tool diffmerge
更新失敗錯誤
fatal: refusing to merge unrelated histories
最新的版本需要添加--allow-unrelated-histories
假如我們的源是origin,分支是master,那么我們 需要這樣寫git pull origin master ----allow-unrelated-histories
去除build目錄
git rm -r --cached app/build 刪除目錄
git commit -m”rm app/build”
git push
在.gitignore里面添加忽略文件 app/build,或者git checkout .gitignore
忽略已提交的文件
git rm --cached logs/xx.log,然后更新 .gitignore 忽略掉目標文件,最后 git commit -m
分支tag
切換到需要打標簽的分支上 Switched to branch 'master' or git checkout [tagname]
查看所有標簽 git tag
查看標簽信息 git show <tagname>
打一個新標簽 git tag <name>
創建帶有說明的標簽,用-a指定標簽名,-m指定說明文字
git tag -a v0.1 -m "version 0.1 released" <commitid>
刪除標簽 git tag -d v0.1.2
tag發布
通常的git push不會將標簽對象提交到git服務器,我們需要進行顯式的操作:
$ git push origin v0.1.2 # 將v0.1.2標簽提交到git服務器
$ git push origin –tags # 將本地所有標簽一次性提交到git服務器
基本講解
http://www.ruanyifeng.com/blog/2014/06/git_remote.html
Git在AndroidStudio上的使用
http://blog.csdn.net/huaishu/article/details/50475317
其它參考
http://blog.jobbole.com/78960/
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013752340242354807e192f02a44359908df8a5643103a000
git remote operator
http://blog.csdn.net/joelovegreen/article/details/42913163
http://www.cnblogs.com/dubuqingfeng/p/201503-git-fork-synchronized.html
git rebase
http://www.mamicode.com/info-detail-1812492.html
AndroidStudio快捷鍵部分
android sudio proplem
http://www.cr173.com/html/24051_1.html
常用快捷鍵:
Alt + enter 導入包,自動修正
Alt+ insert 重寫方法,使用模版方法
Ctrl+Shift+J 可以整合一行變為兩行
Ctrl + O 查看類方法相當于eclipse outline功能
shift連按2次 查找項目指定類文件
Ctrl+Shift+Space 代碼提示 相當Eclipse Alt+/
Ctrl+/ 或 Ctrl+Shift+/ 注釋(// 或者/*...*/ )
Ctrl+J 自動代碼
Ctrl+E 最近打開的文件
Ctrl+H 顯示類結構圖
Ctrl+Alt+B 轉到方法的實現
Ctrl+B:直接跳轉到類、方法、成員變量定義的地方。與Ctrl+鼠標左鍵效果一樣
Ctrl+Alt+L 格式化代碼
Ctrl+Alt+O 優化導入的類和包
Ctrl+R 替換文本
Ctrl+F 查找文本
交換兩行代碼
Ctrl+Shift+箭頭
Shift+F6 重構-重命名
Alt+F1:快速打開project view、structure view 等查看相應的元素。
Ctrl+Tab:打開界面切換窗口
Ctrl+F12 類方法查找
Ctrl+Shift+F 全局查找
Control + N 類文件查找
Control + Shift + N 文件查找
F4 / Control + Enter 跳轉源碼
Control + G 跳轉行
Shift + F4 在新窗口中打開當前編輯器
Ctrl+Y 刪除行
Ctrl+Shift+U 大小寫轉換
Ctrl+Alt+L 代碼格式化
Ctrl+Alt+T 環繞代碼try catch for 等
Ctrl+numpad - 折疊
Ctrl+numpad + 展開
Ctrl+Alt+(+,-)整個文件
構建并運行
Control + F9 構建
Shift + F10 構建并運行
Ctrl + Alt + M 指定代碼塊放入新方法
Studio里面創建library,發現R一直引用不了
build->Make Module “yourLibrary”,然后發現R.java生成了
關聯源碼
打開C:\Users\用戶.AndroidStudio2.1\config\options 這個路徑,找到jdk.table.xml這個文件
快捷鍵:
https://developer.android.com/studio/intro/keyboard-shortcuts.html
http://developer.android.com/sdk/installing/studio-tips.html
程序包名修改
CTRL + ALT + L (Win/ Linux)
have started developing with Android Studio. In eclipse I was using Ctrl+Shift+F but in Android studio it does not work, It will be different.
studio一些配置
http://www.imooc.com/wenda/detail/240863
重新命名application package方法:
You can do this:
Change the package name manually in the manifest file.
Click on your R.java class and the press F6 (Refactor->Move...). It will allow you to move the class to other package, and all references to that class will be updated.
參考:
https://developer.android.com/studio/intro/keyboard-shortcuts.html
http://developer.android.com/sdk/installing/studio-tips.html
基本設置 http://www.imooc.com/wenda/detail/240863
總結
以上是生活随笔為你收集整理的git常用命令与AndroidStudio常用快捷键的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DAPP开发初探——永存的留言
- 下一篇: Sudoku Killer