远程协同开发步骤:
1.把码市上的项目clone下来
git clone 码市上的项目地址(.git)
2.向码市上传代码push
//1.添加远程仓库 (先init初始化本地仓库)
git remote add origin 码市上的项目地址(.git)
//2.查看远程仓库
git remote -v
//3.添加项目到缓存区
git add 要上传的项目
//4.提交缓存区
git commit -m "要编辑的话"
//5.先拉下最新代码
git pull origin master
//6.push代码
git push origin master
ASGUI:1.VCS-import into version control-create git repository 初始化本地仓库
2.VCS-Git-remotes 添加远程地址
3.VCS-Git-pull/push 该建立连接的选一下
注:1.若拉不下来(代码和Gui方式都可能有这种情况),试试:git branch --set-upstream-to origin/master master
2.如果有两个git账号,由于记录使得第二个号的项目拉不下,试试:git config --system --unset credential.helper (可重输账户密码)
关于ssh
1.ssh-keygen -t rsa -C"xxxxx@xxxxx.com" //生成ssh公钥
2.cat ~/.ssh/id_rsa.pub //查看你的 public key,将得到的公钥添加到对应平台
码云:ssh -Tgit@git.oschina.net 返回welcome表示成功
--allow-unrelated-histories //pull时解决(因为两个仓库不同,发现refusing to merge unrelated histories)
基础命令:
1.git config --global user.name"Your Name" //查看则不加后面引号内容
2.git config --global user.email"email@example.com"
3.git init //通过git init命令把一个目录变成Git可以管理的仓库
4.git add readme.txt || git add . //添加文件到仓库(add . 添加所有)
5.git commit -m"first commit" //提交文件到仓库
6.git status //查看仓库当前的状态
7.git diff //查看difference,具体的修改内容
8.git log //显示从最近到最远的提交日志 --pretty=oneline 加参数显示简单点
8.git reset--hard HEAD^ || git reset --hard commit_id //回退到上一版本,HEAD表示当前版本,HEAD^^,HEAD~100
9.git reflog //记录每一次命令
10.git checkout -- file //丢弃工作区的修改 eg:修改了readme.txt,执行命令放弃修改。 无“--”表示切换到分支
11.git reset HEAD file //可以把暂存区的修改撤销掉(unstage),重新放回工作区
//git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
12.git reset HEAD file //可以把暂存区的修改撤销掉(unstage),重新放回工作区
13.git rm //删除一个文件,已经提交到版本库不用担心误删,但只能恢复文件到最新版本
删除-commit-push
14.git remote add origin git@server-name:path/repo-name.git //关联一个远程库
15.git push -u origin master //第一次推送master分支的所有内容 -u:将本地的master分支和远程的master分支关联
16.git clone //克隆一个本地库
17.git branch //查看当前分支
18.git branch blackbai12-branch //创建分支
19.git checkout //切换分支
20.git checkout -b blackbai12-branch //创建并切换分支
21.git merge //合并指定分支到当前分支
git merge --no-ff -m"merge with no-ff"dev //--no-ff参数,表示禁用Fast forward
22.git branch -d blackbai12-branch //删除分支
23.git log --graph //查看分支合并图
忽略文件
一般需要忽略的文件如下:
1、.idea文件夹
2、.gradle文件夹
3、所有的build文件夹
4、所有的.iml文件
5、local.properties文件
AS svn忽略
AS git 忽略
如果规则未生效,如下更新:git rm -r --cached . git add . git commit -m'update .gitignore'
tips:
1.为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:
$git add file1.txt
$git add file2.txt file3.txt
$git commit -m"add 3 files."
2.git log 是当你回退到某个版本,此版本之后的记录,就自动抹去了
git reflog 是你提交的完整的命令历史,回退到某个版本,仍然可以查到位于此版本之后的版本号。
3.工作区(Working Directory):就是你在电脑里能看到的目录
版本库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库
4.Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
5.开发中一直 本地dev push 远程dev,(团队协作同时push远程dev,解决冲突,保证远程dev和本地dev无冲突)
(需合并时,eg:matser发布一个版本)本地master merge 本地 dev,本地master push 远程master