The general workflow is:
Clone the Github repository on your computer (the URL ending with .git can be copied directly from GitHub).
git clone https://github.com/full/path/to/file.git
Create a project in PyCharm based on your local copy of the repository.
Don't forget to install the required library dependencies using pip.
But as @K900_ told you, we're missing some context to properly answer your question.
posh-git
is just git integration with PowerShell. Github is not git, for official git distribution, look here. You may want to install TortoiseGit, too, for a bit of GUI.
Both can be installed either by downloading setups directly from their websites. Alternatively, you can use Chocolatey package manager to install them from PowerShell.
I use the following git alias to quickly see the branches and keep them clear in my head:
[alias]
hist = log --all --graph --pretty=format:'%C(auto)%h%C(auto)%d %s %C(dim white)(%aN, %ar)'
Maybe also checkout TortoiseGit. They have a Revision Graph tool you can quickly view from Windows explorer.
> The most important thing here is to mark your gcode files when they're complete. Been testing various settings on a file ? mark them rev.1, rev 2, etc. Once you know you have a GOOD gcode file that prints perfect everytime, mark it final and put it somewhere seperate, so you know that file will be good every single time you want to print it. This is better than picking up an SD card with 100 files and saying " I wonder what this 304830.gcode is?"
I would suggest a good source code management package (such as Mercurial, Git, or Subversion) for this sort of thing. It is software that lets you store multiple revisions of files -- in this case, both the gcode and the model and STL files that produced it -- and allow you to pull any of them back out. It also helps manage keeping multiple different versions (branches).
On windows, look for the tortoise versions (TortoiseHg for Mercurial, TortoiseGit for git, etc), which will give you a nice GUI integrated into the windows shell and context menu instead of making you use text commands.
Personally I use Mercurial, giving each project its own repository which is stored in its main folder. Once the repository exists, it doesn't take much effort to open up the workbench, choose which files to commit (out of those that are different/new/removed since the last time), type in a comment about why they've been changed, and hit the "Commit" button.
I can’t solve your current problem, but I can help you avoid it in the future.
Learn to use a source control system like Git. It is absolutely worth the effort. Not only will it help you recover lost/corrupt files, but it will help you debug your code (shows you exactly what you changed so you can see why something doesn’t work anymore) and write better code (encourages you to structure your changes).
You probably don’t want to dive in head first and learn the command line (although if you use it a lot, it’s also worth the effort). There are various graphical clients that will do the heavy lifting for you. I personally like TortoiseGit.
Having been using a SVN and TortoiseSVN for many years - I use TortoiseGit to build my commits up - personally I find it easier to be rigorous in checking what I have changed than the IDE integrations versions and less hassle than command line. Unfortunately it doesn't seem to play with our TFS properly so end up in VS to do pushes etc.
I had a team working for me and they changed to GIT, but were they using any of the power of it - no they were just using same as SVN but with extra push step and I had to kick them a few times when they said they'd done fix but hadn't checked it in - which is just crazy to me, especially in GIT
Not sure if all these machine are on the same network so this might not be a very good solution. Maybe there's some kind of VPN connection involved?
What I would do is utilize Git for windows with tortoise git. tortoise git is kind of a...abstraction layer..you might call that...that adds a shell extension.
So you can right click a folder and tell it to create a repo then configure it to point to another locations as your master branch. Once it's all setup there's a "git sync..." on the context menu. As the name implies it brings down anything newer on the remote and sends up anything newer locally.
Okay technically this isn't really a CLI solution. Just "a solution" to synchronize files like windows updates across different PCs in different locations. Since Git is intended as CLI to begin with I assume there's a CLI equivalent command. It would just be insanely easy with tortoise git: drop new updates in to the folder and synchronize: same files/versions appear automatically. Maybe those machines could be script to "pull" on a schedule. I don't know.
Looks like you're going to have several different sets of updates to keep track of. Not to mention if you have a mix of 32 and 64-bit OS versions.
Of course git sync will only get the updates to the machines. Would then need a script with a for-loop to install the updates, log the results and either report back issues or take independent actions to try and fix errors encountered on its own. The script could be run as a scheduled task or as a startup script with GPO/in the registry.
One sticking point would be that 2003 server. Support for those old XP/2003 OSes is starting to get phased out. So would have to go back several versions of Git to make this work. I really hope there's plans on replacing the 2003 server.
Have your tried Tortoise GIT?
It's a free wonderful software that simplifies GIT management on the employee end. Your productivity will go way up by taking care of your employees and providing them with high end tools to get the job done.
Also, it sounds like this may be a development house. Programmers require quiet, privacy, lead time, and set goals. Monitoring software is going to piss them, and a lot of other people off. Trust me, it's not worth it.
I feel like you'd benefit from learning about the Results Only Workplace Environment. (www.gorowe.com). I highly recommend the 2 first books.
One of the biggest points is that hugging onto logistics, specifically metrics on human behavior is unproductive and will lead to disaster.
There are some GUI Git clients, like TortoiseGit.
In addition to Ikiwiki, gitit also stores pages in a DVCS (Git is one of several options).
The nice thing about Git is that your team would typically have the entire repo local to most of their machines, so there's no reliance on a central server that could be down in an outage.
I can't say I've ever used the bundled Git GUI (I use a mix of console and https://tortoisegit.org/, but there are other clients out there), so I'm not even sure what compressing it would do under the hood... or why it needed to balloon up in size so much to do it!
I hope that can be undone though. Worst case you can always re-clone if you have to, but I'd hope not in this case.
Consider using TortoiseGit (https://tortoisegit.org/) to view the commit graph of your project. I'm a visually oriented person and the TGit graph view has been such a great aid when rebasing, viewing changes between two branches, etc.
if you are on Windows then there is also the option of TortoiseGit which integrates into the Windows Explorer File manager - I find it much better at reviewing changes and selecting what I want to commit than IDE integrations/Command line
You should probably use a version control system like git. It's fairly easy to use, you only need a few commands, and there even are some gui programs to help
I tend to use TortoiseGit (Windows) because I have been using TortoiseSVN for a long time and I find it easier to check the differences I am committing than using a command line or the built in IDE versions.
I doubt there is much difference performance wise between it and using command line - i have never found it particularly slow to use either if you are just committing everything without checking the changes.
Doesn't help you now, but: If you're using windows this may help for the future. I think it would work on all files, not just .py, though unless the file is human-readable it will be less useful.
I use TortoiseGit (Windows)
It integrates nicely with the Windows file manager. Adds icon overlays representing the state of files, allows dragging files (with the left mouse button) to move them with git being aware. And adds a configurable context menu for things like pulling, pushing, committing, adding files, switching branches, merging, etc.
Oh, that website has all of its source code on github. You can create a free github account and fork it, then you have your own private clone of it that you can edit as you want. You can then install TortoiseGit (or any other git client of your choice) and clone it to your local machine. All of the content is in index.html, and should be pretty straightforward to extend and change. No programming required, just a little copy and paste. If you want, you can then also send a Pull Request on github to the original author, asking them to include your changes in the main guide (and add you to the list of contributors).
i use a combination of git extensions (https://gitextensions.github.io/) and command-line. quite a few people use the gui exclusively.
some of the folks that came over from the subversion world tend to use tortoisegit (https://tortoisegit.org/) since it mirrors the tortoisesvn workflow pretty closely.
Call me a command-line wimp, but I prefer a nice GUI frontend for using git on Windows. There are several, but I use TortoiseGit. It integrates nicely with Windows Explorer, and lets you simply right-click for all the git commands you'll ever need.
Thx for the info. I know cli is where it's at, but I just won't be using it often enough in my off time. I bet there would only be a handful of practical commands I'd have to learn, but I just don't want any friction in learning it if I need to dig deeper.
I like the looks of this project. Almost like os integration.
https://tortoisegit.org/about/screenshots/#Explorer_integration
Git from CL is not fun on Windows.
Where I work, we use ASP.NET for our projects, so that lends to using TFS more often than not.
Whenever we get the occasional WordPress project assigned to us, we do use Git. There is a particularly GUI client that makes Git a lot nicer on Windows called Tortoise Git. It integrates into the Windows Explorer context menus. It's worth checking out.