git命令

第一部分:本地

1、配置身份,这样在提交的时候就知道是谁提交的:

git config --global user.name "tony"
git config --global user.email "tony@gmail.com"

配置之后可通过下列命令查看是否配置成功:

git config --global user.name
git config --global user.email

2、创建一个空的仓库:

git init 

3、提交本地代码:

git add AndroidManifest.xml     //添加单个文件
git add src       //添加文件夹
git add .     //添加所有文件

4、提交代码

git commit -m "提交内容描述"

5、可在androidstudio中的.gitignore文件中指定忽略文件

6、查看自上次提交后文件修改的情况(是否有修改的文件、或者查看冲突文件):

git status

7、查看文件修改的内容:

git diff    //所有提交文件
git diff src/com/example/providertest/MainActivity.java  //单个文件修改的内容

8、撤销上次修改(只是撤销本地):

git checkout src/com/example/providertest/MainActivity.java

9、查看提交记录

git log

10、查看分支

git branch //查看本地分支
git branch -a //查看所有分支
git branch -r //查看远程分支

11、创建分支

git branch version1.0

12、切换分支

git checkout version1.0

13、将version1.0分支上的修改合并到master分支

git checkout master
git merge version1.0

14、删除version1.0分支

git branch -D version1.0

第二部分:远程

1、从远程仓库下载代码到本地

git clone https://github.com/example/test.git

2、将代码推送到远程仓库分支dev,如果dev不存在,则会新建de'v

git push origin dev

3、从远程仓库更新代码

git pull origin master

4、添加远程仓库

git remote add origin https://github.com/example/test.git

5、修改某个远程仓库在本地的简称

git remote rename pb paul //把 pb 改成 paul

6、碰到远端仓库服务器迁移,或者原来的克隆镜像不再使用,又或者某个参与者不再贡献代码,那么需要移除对应的远端仓库,可以运行 git remote rm 命令

git remote rm origin

7、在本地仓库添加一个远程仓库,并把本地仓库master分支跟踪到远程分支

git remote add origin ssh://xxx@192.168.1.32/~/workspace/code_celloct/gittest  
git push origin master  //可以在远程创建一个新分支并将本地分支代码提交

8、拉取远程分支并创建本地分支

方法一

使用如下命令:

git checkout -b 本地分支名x origin/远程分支名x

使用该方式会在本地新建分支x,并自动切换到该本地分支x。
采用此种方法建立的本地分支会和远程分支建立映射关系。

方式二

使用如下命令:

git fetch origin 远程分支名x:本地分支名x

使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。
采用此种方法建立的本地分支不会和远程分支建立映射关系。

9、更新远程分支列表

git remote update origin --prune

10、将某次提交的代码提交到另一分支master

git checkout master
git cherry-pick c0a5abda8ed500aeb16a120f85d930a3b194fa4c

9、问题:

(1)、git pull origin master失败 ,提示:fatal: refusing to merge unrelated histories

  git pull origin master --allow-unrelated-histories

(2)、切换分支时

$ git checkout master
error: Your local changes to the following files would be overwritten by checkout:
    README.md
Please commit your changes or stash them before you switch branches.
Aborting

执行git stash (Git 中的分支创建和冲突解决(命令行)

$ git stash
Saved working directory and index state WIP on develop: fd94b13 branch test on develop branch

(3)、远程新建的分支,使用 git branch -a 命令显示不出来,使用下面命令:

git fetch

(4)、远程删除的分支,使用 git branch -a 命令仍然可以显示出来,使用下面命令:

使用命令 git remote show origin,可以查看remote地址,远程分支,还有本地分支与之相对应关系等信息。
此时我们可以看到那些远程仓库已经不存在的分支,根据提示,使用 git remote prune origin 命令,
这样就删除了那些远程仓库不存在的分支。

(5)、不小心提交到版本管理的文件,可使用下面的命令删除

git rm -r -n --cached "bin/" //-n:加上这个参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。
git rm -r --cached  "bin/"      //最终执行命令. 
git commit -m" remove bin folder all file out of control"    //提交
git push origin master   //提交到远程服务器

此时 git status 看到 bin/目录状态变为 untracked
可以修改 .gitignore 文件 添加 bin/ 并提交 .gitignore 文件到远程服务器,这样就可以不对bin目录进行版本管理了。以后需要的时候,只需要注释 .gitignore 里 #bin/ 内容,重新执行 git bin/ ,即可重新纳入版本管理

(6)、撤销pull操作、回退到之前某次commit的版本,

1、运行git reflog命令查看你的历史变更记录,如下(最新的在上面):

G:\Projects\Class\ibaby>git reflog
c32a3d1 (HEAD -> dev_homePage) HEAD@{0}: commit: <E9><80><9A><E8><AE><AF><E5><BD><95><E4><BF><AE><E6><94><B9>
75b07c5 HEAD@{1}: pull origin dev_homePage: Fast-forward
e8ea8b2 HEAD@{2}: checkout: moving from test to dev_homePage
c584b2b (origin/test, test) HEAD@{3}: checkout: moving from dev_homePage to test
e8ea8b2 HEAD@{4}: checkout: moving from test to dev_homePage

2、然后用git reset --hard HEAD@{n},(n是你要回退到的引用位置)回退。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容

  • 三大区域: 工作区 → 缓存区 → 本地仓库 一 、 使用 git config 命令进行配置: git ...
    Manchangdx阅读 2,832评论 0 2
  • 以下内容是我在学习和研究Git时,对Git操作的特性、重点和注意事项的提取、精练和总结,可以做为Git操作的字典,...
    科研者阅读 3,498评论 2 19
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,626评论 9 163
  • 以下内容是我在学习和研究Git时,对Git操作的特性、重点和注意事项的提取、精练和总结,可以做为Git操作的字典,...
    科研者阅读 4,071评论 4 50
  • 2016.12.25 家 虽然我曾埋怨过,委屈过,也曾因为理解而无能为力过,但当我看到妈妈满头的白发时,我突然就觉...
    白羊菌阅读 771评论 0 3