mac下Git使用

来源:互联网 发布:windows xp sp3繁体版 编辑:程序博客网 时间:2024/04/29 11:44

前期准备

http://blog.csdn.net/hustpzb/article/details/8230454/

生成key给后台。


第一次上传工程:

一、cd到你指定的文件夹,比如我的名为git的文件夹。

二、克隆远程的库:Dragon-KnightdeMac-mini:git DragonKnight$ git clone git@121.42.34.92:Demo/ark/client

三、cd到client目录里,在这个文件夹里面新建你的工程,并且加到git里:Dragon-KnightdeMac-mini:git DragonKnight$ git add -A

四、提交工程到本地库:Dragon-KnightdeMac-mini:git DragonKnight$ git commit -am "上传一个工程"

四、提交工程到远程库:Dragon-KnightdeMac-mini:git DragonKnight$ git push


此时远程库上面就有git的工程了,其他组员用git库:

一、cd到你指定的文件夹,比如我的名为git2的文件夹。

二、克隆远程的库:Dragon-KnightdeMac-mini:git DragonKnight$ git clone git@121.42.34.92:Demo/ark/client

克隆下来的只有master分支,大家不应该在其上面进行开发,需要建立分支。


建立分支:

一、建立本地分支:Dragon-KnightdeMac-mini:client DragonKnight$ git branch branch1

二、查看刚才的branch1是否建立成功:Dragon-KnightdeMac-mini:client DragonKnight$ git branch

要是看到branch1就说明成功了

三、上传本地分支到远程仓库:Dragon-KnightdeMac-mini:client DragonKnight$ git push origin branch1

四、查看远程仓库分支是不是传上去了:Dragon-KnightdeMac-mini:client DragonKnight$ git branch -r

要是看到branch1就说明成功了


开发人员切换到分支上开发:

一、先更行下数据:Dragon-KnightdeMac-mini:client DragonKnight$ git pull

如果不这样做的话远程有了新的分支,你本地并不知道。

Dragon-KnightdeMac-mini:client DragonKnight$  git checkout -b branch1 origin/branch1

此时你已经拿到了branch1,而且已经在branch1上了,本地的切换直接git checkout branch1就好了。


开发人员在branch1上修改了文件

一、要是只是新建文件修改提交前先pull一下与远端同步:Dragon-KnightdeMac-mini:client DragonKnight$ git pull

二、如果有新增的文件或是文件夹,需要:Dragon-KnightdeMac-mini:client DragonKnight$ git add -A

没文件新增就不需要这步骤。

三、提交本地:Dragon-KnightdeMac-mini:client DragonKnight$ git commit -am "修改了一个文"

四、提交到服务器:Dragon-KnightdeMac-mini:client DragonKnight$ git push

当然在步骤一的时候可能会冲突提示

Dragon-KnightdeMac-mini:client DragonKnight$ git pull

remote: Counting objects: 9, done.

remote: Compressing objects: 100% (4/4), done.

remote: Total 5 (delta 2), reused 0 (delta 0)

Unpacking objects: 100% (5/5), done.

From 121.42.34.92:CityBao/ark/client

   8bb1241..98550c1  branch3    -> origin/branch3

Updating 8bb1241..98550c1

error: Your local changes to the following files would be overwritten by merge:

MyApplication/水电费发的说法/README

Please, commit your changes or stash them before you can merge.

Aborting

其中README文件冲突了,这个时候你需要:
一、保存本地文件:Dragon-KnightdeMac-mini:client DragonKnight$ git stash
二、步骤一之后就能正常pull了:Dragon-KnightdeMac-mini:client DragonKnight$ git pull
三、把冲突合到一起:Dragon-KnightdeMac-mini:client DragonKnight$ git stash pop stash@{0}
Dragon-KnightdeMac-mini:client DragonKnight$ git stash pop stash@{0}

Auto-merging MyApplication/水电费发的说法/README

CONFLICT (content): Merge conflict in MyApplication/水电费发的说法/README

四、去修改README文件:和svn差不多,修改完之后走正常的提交流程。


分支合并就放在某个人的电脑里合并好了,让他把远程的分支们都下到本地,合好了再放上去。比如我要把branch合到master里面

一、checkout到master分支。

二、然后合并分支:Dragon-KnightdeMac-mini:client DragonKnight$ git merge branch


删除远程分支:

git push origin --deletebranch1 删除了名字为branch1的远程分支

现在开发人员已经clone了git库,也切换到了分支。git命令要会用的,但是都用这个对开发人员来说效率太慢,

我是android开发的,用android studio打开那个分支工程。

点击菜单的VCS选项->Enable Version Control->选择git。此时多了两个操作按钮


第一个就相当于git pull功能,后面这个就是git commit和git push,点进去具体操作就知道了。


iOS的我也要做,把iOS加入git和android的都是一样,但是iOS新建工程的时候默认会生成一个git库,新加工程的时候最后一步把那个勾去掉。当然要是忘了就去工程目录里找个.git那个隐藏文件夹删掉就好了,不然库套着库有问题的。


还有一个问题就是git的忽略问题


新建一个.gitignore文件,然后在里面写上要忽略的文件类型,文件夹什么的

但是这里有个坑就是你修改了不生效,需要被忽视的可能之前已经在版本管理控制里面了,这里需要清理本地库

Dragon-KnightdeMac-mini:client DragonKnight$ git rm -r --cached .

Dragon-KnightdeMac-mini:client DragonKnight$ git add .

Dragon-KnightdeMac-mini:client DragonKnight$ git commit -m "重新提交到本地库"

Dragon-KnightdeMac-mini:client DragonKnight$ git push -f


这里有个说明是git push -f,这是强制提交。不知道后台配置git的人怎么想的,想删除已经在git服务器上的文件git push不给生效,需要加个-f强制覆盖生效




0 0