配置用户信息

//配置user.name
git config --global user.name "your user name"

//配置user.email
git config --global user.email "your user email"

步骤一:clone代码,使用http的协议

git clone http://example.com/namespace/project_name.git

步骤二:远程创建分支
路径:commits --Branchs–Newbranch
远程创建分支
所有分支都从master开出来
开通分支
步骤三:本地创建分支
方式一:将master代码pull到最新,然后使用 git checkout -b 分支名
方式二:自动创建
1:fetch --all ,获得远程所有的更新记录

git fetch --all

2:pull master 最新代码

git pull origin master

3:直接checkout 到分支:如果本地有该分支直接到分支,如果本地没有该分支系统会总分创建一个与远程一模一样名字的分支。

git checkout test

步骤四:提交本地修改的文件

git add .
git commit  -m ‘提交备注’

步骤五:将本地修改push到远程

git push origin test:test

到服务器查看提交记录
提交记录
记录详细
步骤六:合并分支代码到其他分支(如:test分支合并到developer)
1:checkout到master
2:执行merge命令:git merge test(),或者cherry-pick hashcode 合并某一个版本的代码

#git快速合并 合并并且commit
git merge --no-ff origin/分支名
#git快速合并 合并不commit
git merge --no-ff origin/分支名 --no-commit
#git最优合并 合并commit
git cherry-pick 分支名
#git拣选合并 合并并且commit
git cherry-pick commit_id

3:直接将文件push 到远程

git push origin developer:developer

步骤七:合并分支代码遇到冲突的情况(如:test分支合并到master)
合并遇到冲突:

git merge test

合并遇到冲突
利用晓乌龟工具解决冲突
这里写图片描述
这里写图片描述
这里写图片描述
或者
这里写图片描述
编辑冲突
这里写图片描述
取消冲突标志
这里写图片描述
提交代码
这里写图片描述
利用小乌龟查看日志
这里写图片描述
这里写图片描述
回退版本git reset --hard

#撤销add状态的文件
git checkout head
#撤销commit状态的文件
git reset head
#同步远程分支状态的问题
git fetch --all
git reset --hard origin/分支名
#回退到commit_id的版本
git reset --hard commit_id
#提交远程分支,会删除被回退内容的记录
git push --force origin/分支名

暂存本地代码

保存当前工作进度,会把暂存区和工作区的改动保存起来。执行完这个命令后,在运行git status命令,就会发现当前是一个干净的工作区,没有任何改动。使用git stash save 'message…'可以添加一些注释

git stash

显示保存进度的列表。也就意味着,git stash命令可以多次执行。

git stash list

恢复暂存代码

git stash pop [–index] [stash_id]
git stash pop 恢复最新的进度到工作区。git默认会把工作区和暂存区的改动都恢复到工作区。
git stash pop --index 恢复最新的进度到工作区和暂存区。(尝试将原来暂存区的改动还恢复到暂存区)
git stash pop stash@{1}恢复指定的进度到工作区。stash_id是通过git stash list命令得到的 
通过git stash pop命令恢复进度后,会删除当前进度。
git stash apply [–index] [stash_id]
除了不删除恢复的进度之外,其余和git stash pop 命令一样。

删除一个存储的进度。如果不指定stash_id,则默认删除最新的存储进度。

git stash drop [stash_id]

删除所有存储的进度。

git stash clear

记住用户名密码

Https记住密码

永久记住密码

git config --global credential.helper store

会在用户主目录的.gitconfig文件中生成下面的配置。

[credential]
    helper = store

如果没有–global,则在当前项目下的.git/config文件中添加。

当然,你也可以直接复制上面生成的配置到配置文件中。

临时记住密码
默认记住15分钟:

git config –global credential.helper cache

下面是自定义配置记住1小时:

git config credential.helper ‘cache –timeout=3600’

SSH记住密码

可以从一个已有的SSH KEY来记住密码,会在用户主目录下的known_hosts生成配置。

把ssh key添加到ssh-agent

$ eval $(ssh-agent -s)
$ ssh-add ~/.ssh/id_rsa

如添加过程:

$ eval $(ssh-agent -s)
Agent pid 54188

$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /c/Users/Administrator/.ssh/id_rsa:
Identity added: /c/Users/Administrator/.ssh/id_rsa (/c/Users/Administrator/.ssh/id_rsa)

报下面的错误的解决方法

fatal: Authentication failed for 'http://x.x.x.x/xxx/xxx.git/'

输入下面的命令可以解决

git config --system --unset credential.helper

从另一个git导入代码到自己的git并保留历史记录

#获取所有远程分支并更新
git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
git fetch --all
git pull --all
#修改源库,并推送到新仓库
git remote rename origin old-origin
git remote add origin http://192.168.66.155/public_innovation/yonghe.git
git push -u origin --all
git push -u origin --tags
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐